我想在制表符分隔的文件中添加一列额外的列。该文件如下所示:
#> cat /tmp/myfile
Aal Fisch_und_Fleisch
Aalsuppe Fisch_und_Fleisch
我想做的方式是通过 sed,匹配整行,将其与新列一起打印出来。但是,附加列写在行的中间而不是末尾:
#> cat /tmp/myfile | sed 's#^\(.*\)$#\1\t1#g'
Aal 1isch_und_Fleisch
Aalsuppe1 Fisch_und_Fleisch
但是,当我对一些手动创建的行进行完整性检查时,它可以工作:
#> echo -e "aaaaaaaaaa\taaaaaaaaaaaa\nbbbbbbb\tbbbbbbbb" | sed 's#^\(.*\)$#\1\t1#g'
aaaaaaaaaa aaaaaaaaaaaa 1
bbbbbbb bbbbbbbb 1
我猜这可能是一个编码/换行问题,这file
就是说:
#> file /tmp/myfile
/tmp/myfile: ASCII text, with CRLF line terminators
如果是编码/换行问题,我该怎么办?