一、先说解决方法
在文件名中的每个空格前面加上反斜杠,例如:
cat file\ name\ with\ spaces
二、场景分析
七镜这里有3个文件,每个文件的路径里,都包含空格,如下图所示:
- 以
./artists/Japanese Art/yoga/yoga.txt
文件为例,cat 命令,将这个文件识别成了两个文件./artists/Japanese
和Art/yoga/yoga.txt
,这就和咱们的预期不符合了,咱们预期是想打印出这个路径包含空格的文件的内容。
三、查看效果
咱们在 | xargs cat
命令之前再加一个 | sed 's/ /\\ /g'
将原本空白的路径里的空白符号前头加一个\
,加上之后,就能正常打印文件中的内容了。
(如下图可以看下,sed处理之后待处理的文件名)
OK,问题解决