我假设这里的每个人都熟悉所有文本文件应以换行符结尾的格言.多年来我一直都知道这个"规则",但我一直在想 - 为什么?
echo我的脚本中有问题:
echo -n "Some string..."
Run Code Online (Sandbox Code Playgroud)
版画
-n Some string...
Run Code Online (Sandbox Code Playgroud)
并移动到下一行.在控制台中,它正确地工作而没有换行:
Some string...
Run Code Online (Sandbox Code Playgroud) 我有一些文件,如果它是文件中的最后一个字符,我想删除最后一个换行符. od -c告诉我,我运行的命令确实用一个尾随的新行写了一个文件:
0013600 n t > \n
Run Code Online (Sandbox Code Playgroud)
我已经尝试了一些与sed的技巧,但我能想到的最好的不是诀窍:
sed -e '$s/\(.*\)\n$/\1/' abc
Run Code Online (Sandbox Code Playgroud)
任何想法如何做到这一点?