我有一些文件,如果它是文件中的最后一个字符,我想删除最后一个换行符.od -c
显示我运行的命令确实会用一个尾随的新行写入文件:
0013600 n t > \n
我试过sed的一些技巧,但我能想到的最好的方法是不做这些技巧:
sed -e '$s/\(.*\)\n$/\1/' abc
有什么办法吗?
我有一些文件,如果它是文件中的最后一个字符,我想删除最后一个换行符.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
,但正如几位 comments 者所指出并由@hvd解释的那样,后者不起作用.]
在我看到的awk网站上,这被描述为"perl亵渎".
但是,在一次测试中,它起了作用.