我有以下文本文件:
ifile.txt
1.1 4.5
2.3 2.3
3.4 30.5
我想在开头添加一行(%file1
),然后将其转换为.asc
文件。
我使用了以下命令:
(echo "%file1" ; cat ifile.txt) > ofile.asc
但输出结果如下:
ofile.asc
%file1
1.1 4.5^M
2.3 2.3^M
3.4 30.5^M
所需的输出是:
ofile.asc
%file1
1.1 4.5
2.3 2.3
3.4 30.5
答案 0 :(得分:1)
您可以使用tr
代替cat
从原始文件中删除DOS换行符:
{ echo "%file1"; tr -d '\r' < ifile.txt; } > ofile.asc
此外,不需要分叉shell,因为我们可以使用{ ... }
对许多命令进行分组。
答案 1 :(得分:1)
您可以使用sed
消除^M
个字符:
{ echo "%file1" ; sed ‘s/^M//‘ file.txt ; } > ofile.asc