【发布时间】:2012-03-31 23:41:25
【问题描述】:
我文件的最后一行不应将 LF 作为最后一个字符。
在vim中我可以做到
:set noendofline binary
:wq
见http://vim.wikia.com/wiki/File_format#Terminator_after_last_line
如何使用 sed oneliner 过滤器来实现更长的管道?
任何其他工具(无头 vim?awk)对我来说都可以。请不要perl。
scala 或 haskell 怎么样!?
【问题讨论】:
-
这是什么文件?文本,二进制?它是如何创建的?它是文件中唯一的 LF 吗?
-
这有关系吗?只需删除最后一个 LF。假设是二进制,其实是xml文本。
-
事实上,我想去掉一些 xml 的开头和结尾标记周围的所有空格(包括 LF)。
-
sed在行上工作(某些版本的sed对这些行的长度有限制);行以 LF 结尾,包括文件中的最后一行。我认为您不会发现sed是完成这项工作的正确工具。因为我会使用 Perl,所以我帮不上忙,尽管您可能可以使用 Python。 -
对我的 perl 评论感到抱歉 :-) 但是这种语言已经过时了,我不想再学习了...