0%

xargs路径空格问题

问题

1
ls *.pdf | xargs ls -lh

这个命令的作用是 ls -lh 当前目录下的 pdf 文件,但是有个问题是,如果 pdf 文件的路径有空格,这会被视作多个不同的路径,从而导致报错:

1
2
3
4
➜  Downloads ls *.pdf | xargs ls -lh
ls: 01.pdf: No such file or directory
ls: 12.46.55.pdf: No such file or directory
ls: 696390: No such file or directory

解决方法

使用 -I 参数:

1
ls *.pdf | xargs -I {} ls -lh "{}"