如果换行符是文件中的最后一个字符,该如何删除?
我有一些文件要删除最后一个换行符(如果它是文件中的最后一个字符)。 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解释,后者不起作用。]
在我看到的awk网站上,这被描述为“ perl亵渎”。
但是,在测试中,它奏效了。
以上是 如果换行符是文件中的最后一个字符,该如何删除? 的全部内容, 来源链接: utcz.com/qa/415917.html