如何删除文件最后一行的最后一个字符?

时间:2015-11-12 19:51:32

标签: linux bash file

我在文件中有这组行:

{info},
{info},
{info},
{info},

我希望这样的文件没有最后一个“,”:

{info},
{info},
{info},
{info}

我怎样才能在bash中做到这一点?有什么想法吗?

2 个答案:

答案 0 :(得分:15)

您可以使用sed

sed '$ s/.$//' your_file
  • 首先$告诉sed仅匹配最后一行
  • s用于"替换",请注意前两个/之间的空字符串
  • .$是与文件中最后一个字符匹配的正则表达式

请注意,您可以使用所需的任何分隔符而不是/,例如,您可以重写表达式:

sed '$ s-.$--' your_file

答案 1 :(得分:1)

在vim中,您可以使用:substitute或:s来执行此操作。它是一个内置的 - 你可以在这里阅读它 http://vim.wikia.com/wiki/Search_and_replace

语法与其他发布的解决方案非常相似,您将进入命令模式并输入 :$s/.$//g