我从大文件中提取一些信息并将输出定向到另一个文件,如下所示
awk '{if ($1=="Multiple"); print $3}' file_01.txt > results.txt
当我将上面的行放在files.sh中并使用bash命令执行它时,奇怪的是我发现结果文件名不是results.txt
而是results.txt\r\n
无论如何我可以从文件名中删除尾随\r\n
吗?
当我测试终端中的awk行时,我得到了正确的文件名而没有回车和换行。
在 echo
命令中,有选项-n
来解决此问题,但找不到任何awk。
希望你能协助解决问题。
p / s:由于我必须从许多大文件中提取信息,因此我将所有awk命令堆叠在一个bash文件中以便于执行。
2014年3月26日更新
感谢您的指导。
想确认file_01.txt的内容确实有\ r \ n(回车和换行对)并且是从Windows机器生成的。然后将该文件移植到Ubuntu 10.04以进行进一步的后处理。
由于Ubuntu 10.04没有使用fromdos(tofrodos包)的dos2unix,尝试了以下语法。
fromdos file_01.txt fromdos -d file_01.txt fromdos < file_01.txt > fromdos_output.txt
以上所有内容仍然使用\ r \ n results.txt\r\n
文件的内容(带有\ r \ n的行)是否会影响Ubuntu机器中的文件范围?
答案 0 :(得分:0)
我设法解决了这个问题。
我做了fromdos
bash文件,它不再生成带有\r\n
的文件名。
谢谢你的提示。