0

\r我试图在 AIX 上使用以下命令从文件中删除回车符 ( ),但它也删除了我的最后一行。有什么建议么?

sed -e 's/\r\n/\n/g' ./excprule > ./excprule.tst

命令顺序:

dev1:> sed -e 's/\r\n/\n/g' ./test_file > ./test_file.tst
dev1:> diff test_file.tst test_file
差异:0653-827 文件 test_file 末尾缺少换行符。
26a27
> 预告片 25

编辑:通过使用 perl 做同样的事情找到了一种解决方法,但想知道为什么这不起作用。

4

1 回答 1

1

如果您在 AIX 中有 dos2unix,您也可以使用它,但是,使用 sed,

sed '$!{:a;N;s/\r\n/\n/;ta}' file

sed 在处理当前行时会删除换行符(请参阅手册页),因此您不会真正找到\r\n.

于 2010-03-24T14:20:19.707 回答