我有一些文件要删除最后一个换行符(如果它是文件中的最后一个字符)。 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
,但正如一些评论者所指出并由@hvd解释,后者不起作用。]
在我看到的awk网站上,这被描述为“ perl亵渎”。
但是,在测试中,它奏效了。
问题内容: 说我有一些任意的多行文本文件: 如何在不使文本文件无效的情况下仅删除文件的最后一个字符(e,而不是换行符或null)? 问题答案: 一个更简单的方法( 输出到stdout ,不更新输入文件): 是仅与最后一个输入行匹配的Sed地址,因此导致仅在最后一行执行以下函数调用()。 用空字符串替换(在本例中为 last )行的 最后 一个字符;即,有效地删除最后一个字符。(在换行符之前)。 匹
问题内容: 在互联网上浏览后,我来了。 假设我已经制作了一个文本文件,内容为: 好吧,我想从此文本文件中删除最后一个字符(在本例中为)。 因此,现在文本文件应如下所示: 但是我不知道该怎么做。 我所需要的或多或少是对HDD上文本文件的单个退格功能。 这需要在Linux上工作,因为这就是我正在使用的。 问题答案: 用于从末尾寻找1个位置,然后用于删除文件的其余部分: 这对于单字节编码工作正常。如果您
它是相同的,但没有。
问题内容: 我想删除字符串的最后一个字符,但在此之前,我想检查最后一个字符是否为“ +”。如何才能做到这一点? 问题答案: 这是删除尾随加号的几种方法。 输出:
问题内容: 我已经在SOAP消息中工作过,以从Web服务获取LoginToken,并将LoginToken存储在String中并用于打印。此打印[wdsd34svdf],但我只想wdsd34svdf,如何删除方括号。请任何人帮助我。 谢谢 例: 输出:[wdsd34svdf]我想要wdsd34svdf 问题答案: 这很容易,您需要先找到[和]的索引,然后再找到子字符串。(这里[总是在开始处,]在结
如何从IronPyhon中的字符串中删除最后一个字符? 我正在寻找子字符串方法或类似的方法。