如何在UNIX中删除文件的最后一个字符?

MaxPRafferty:

说我有一些任意的多行文本文件:

sometext
moretext
lastline

如何在不使文本文件无效的情况下仅删除文件的最后一个字符(e,而不是换行符或null)?

mklement0:

一种更简单的方法(将输出输出到stdout,不更新输入文件):

sed '$ s/.$//' somefile
  • $是仅与最后一个输入行匹配的Sed地址,因此导致s/.$//仅在最后一行执行以下函数调用()。
  • s/.$//空字符串替换(在本例中为last)行的最后一个字符;即,有效地删除最后一个字符。(在换行符之前)。
    .匹配该行上的任何字符,并在其后跟$将匹配项锚定到该行的末尾;请注意,$在此正则表达式中的用法概念上是相关的,但在技术上与先前将其$用作Sed 地址不同
  • 使用stdin输入的示例(假设Bash,Ksh或Zsh):

    $ sed '$ s/.$//' <<< $'line one\nline two'
    line one
    line tw
    

更新输入文件太多(如果输入文件是符号链接,不要使用):

sed -i '$ s/.$//' somefile

注意:
*在OSX上,您必须使用-i ''而不是-i; 有关相关陷阱的概述-i,请参见我的答案的下半部
*如果您需要处理非常大的输入文件和/或性能/磁盘使用情况,并且您正在使用GNU实用程序(Linux),请参阅sorontar的有用答案

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Javascript:如何从div或字符串中删除最后一个字符?

如何从字符串中删除最后一个字符?

删除文件中的最后一个字符

删除文件中的最后一个字符

如何在Golang中删除字符串的最后一个字符?

如何使用jQuery从字符串中删除最后一个字符?

如何在java中删除字符串缓冲区的最后一个字符?

如何删除最后一个字符

NSMutableAttributedString:如何在iOS上以编程方式删除最后一个字符?

如何在Swift 4中删除字符串的最后一个字符?

如何从python打印列表中删除/删除最后一个字符

删除UNIX中特定列的最后一个字符

如何从字符串变量中删除最后一个字符?

如何使用Bash删除文件名中的最后一个字符?

如何在C#中动态删除字符串中的最后一个字符

如何在JavaScript中删除句子的最后一个字符?

从批处理文件中的变量中删除最后一个字符

获取/删除文件的最后一个字符而不加载到内存中

在Windows中从文件名中删除最后一个字符

如何从字符串中删除最后一个字符?

如何从IronPyhon中的字符串中删除最后一个字符?

删除txt文件中字符串的最后一个字符

如何在Unix中用斜杠删除最后一个字符?

如何在 Python 3.5 中删除列表中的最后一个字符串

如何用C#删除文件的最后一个字符

实时写入并删除文件JAVA中的最后一个字符

如何从字符串中删除最后一个字符?

如何在power query excel中删除列中的最后一个字符?

如何在 Haskell 中删除字符串中的最后一个字符(不使用 init)?