说我有一些任意的多行文本文件:
sometext
moretext
lastline
如何在不使文本文件无效的情况下仅删除文件的最后一个字符(e,而不是换行符或null)?
一个更简单的方法( 输出到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
问题内容: 在互联网上浏览后,我来了。 假设我已经制作了一个文本文件,内容为: 好吧,我想从此文本文件中删除最后一个字符(在本例中为)。 因此,现在文本文件应如下所示: 但是我不知道该怎么做。 我所需要的或多或少是对HDD上文本文件的单个退格功能。 这需要在Linux上工作,因为这就是我正在使用的。 问题答案: 用于从末尾寻找1个位置,然后用于删除文件的其余部分: 这对于单字节编码工作正常。如果您
问题内容: 我想删除字符串的最后一个字符,但在此之前,我想检查最后一个字符是否为“ +”。如何才能做到这一点? 问题答案: 这是删除尾随加号的几种方法。 输出:
如果字符计数超过200,我正在尝试删除UIText字段中的最后一个字符。但它没有效果:
问题内容: 我有一些文件要删除最后一个换行符(如果它是文件中的最后一个字符)。 告诉我,我运行的命令确实以尾随新行写入文件: 我用sed尝试了一些技巧,但我能想到的最好的方法不是: 任何想法如何做到这一点? 问题答案: 或者,在适当位置编辑文件: [编者注:最初是,但正如一些评论者所指出并由@hvd解释,后者不起作用。] 在我看到的awk网站上,这被描述为“ perl亵渎”。 但是,在测试中,它奏
我将在main方法中这样做,首先实例化该类的一个对象,即。 代码示例:
它是相同的,但没有。