我有一些文件,如果它是文件中的最后一个字符,我想删除最后一个换行符。 od -c向我展示了我运行的命令确实使用尾随的新行写入文件:
od -c
0013600 n t > \n
我用 sed 尝试了一些技巧,但我能想到的最好的方法是没有做到这一点:
sed -e '$s/\(.*\)\n$/\1/' abc
任何想法如何做到这一点?
perl -pe 'chomp if eof' filename >filename2
或者,要就地编辑文件:
perl -pi -e 'chomp if eof' filename
[编者注:-pi -e最初是-pie,但是,正如几位评论者所指出并由@hvd 解释的那样,后者不起作用。]
-pi -e
-pie
这在我看到的 awk 网站上被描述为“对 perl 的亵渎”。
但是,在测试中,它起作用了。