Linux 使用shell将.txt文件转换为.asc
我有以下文本文件:Linux 使用shell将.txt文件转换为.asc,linux,bash,shell,Linux,Bash,Shell,我有以下文本文件: 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 您可以使用tr
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
您可以使用
tr
而不是cat
从原始文件中删除DOS换行符:
{ echo "%file1"; tr -d '\r' < ifile.txt; } > ofile.asc
{echo”%file1;tr-d'\r'ofile.asc
此外,无需使用shell,因为我们可以使用
{…}
对许多命令进行分组。您可以使用sed
来消除^M
字符:
{ echo "%file1" ; sed ‘s/^M//‘ file.txt ; } > ofile.asc