在bash循环中追加文件正在添加^ M.

时间:2011-02-14 11:50:42

标签: bash append

我正在运行一个Bash脚本,它循环遍历目录中的文件,并将它们全部附加到一个文件中。

但是,我发现^ M被添加到每一行的末尾。

原始文件不包含此转义字符,并且在命令行上手动附加文件不会插入字符。

我不知道是否重要,但我正在使用eval构建然后检索目录名称,如下所示:

构建目录名称:

declare ${schema}_${type}_${subtype}="$(eval echo \$${schema}_${type}_${subtype}) $(echo $file | egrep -v "$excluded_types" | grep $schema/$type/$subtype)"

检索目录名称:

for file in $(eval echo \$${schema}_${type}_${subtype})
do
  echo -e "\t\t\t$file"
  echo -e "\t\t\t$file\n" >> $log_file
  cat $file >> $output_file
done

2 个答案:

答案 0 :(得分:2)

在处理之前,您始终可以对文件执行dos2unix

答案 1 :(得分:0)

对于记录和谷歌来说,这最常见于Windows行结尾。为脚本使用nix行结尾。