【问题标题】:Looping through files with spaces in filenames循环遍历文件名中带有空格的文件
【发布时间】:2015-12-24 19:49:50
【问题描述】:

我有以下循环文件的代码块。

SOURCEDIR = /source/path
TARGETDIR = /target/path
FILEOUT   = file.out

list_files=`ls $SOURCEDIR `;
echo -e "File list: "$list_files;

for files in ${list_files}
do
        echo -e "File loading: "$files;
        cat ${SOURCEDIR}/${files} >> ${TARGETDIR}/${FILEOUT}
done;

我正在尝试将路径中找到的所有文件连接到一个文件中。

问题是当文件的文件名中有空格时,脚本会失败,因为循环会从文件名中读取每个单词作为一个单独的文件。即使我将"$files" 放在引号中,结果也是一样的。

我该如何处理?

【问题讨论】:

    标签: loops unix concatenation filenames cat


    【解决方案1】:

    你不需要这个复杂的循环。 cat /path/to/files/* > /path/to/result 会很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-02
      • 2011-10-25
      • 2022-01-21
      • 1970-01-01
      • 2020-09-06
      相关资源
      最近更新 更多