转义文件路径列表的空格

时间:2016-12-26 04:07:03

标签: bash shell terminal find

我是shell脚本新手。我试图循环来自find的文件路径列表,并计算列表中每个文件的行数。一些文件路径包含空格,因此它们在for循环中被解释为单独的元素而不是单个元素。

当我运行以下内容时:

for filepath in `find . -name '*.m'`; do echo $filepath; done;

我看到一些带空格的路径打印在多行上而不是打印在同一行上。

如何为每个文件路径转义空格?

1 个答案:

答案 0 :(得分:1)

  

我正在尝试遍历查找中的文件路径列表,并计算列表中每个文件的行数。

以下是这样做的正确方法:

find . -type f -name '*.md' -exec wc -l {} \;

for .. in循环接受IFS个分隔的单词列表。 IFS默认包含空格,因此文件名中的空格实际上将文件名拆分为单独的单词。