我有一些文件要删除最后一个换行符(如果它是文件中的最后一个字符)。 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亵渎”。
但是,在测试中,它奏效了。