我正在运行一个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
答案 0 :(得分:2)
在处理之前,您始终可以对文件执行dos2unix
。
答案 1 :(得分:0)
对于记录和谷歌来说,这最常见于Windows行结尾。为脚本使用nix行结尾。