我正在使用ksh
.
我有一个temp.txt
包含一些管道分隔数据的文件。
one|two|three|four|five
abc|def|pqr|lmn|xyz
Run Code Online (Sandbox Code Playgroud)
从示例中可以清楚地看出,记录以最后一列中的数据值后的换行符结束。
但是,我希望记录以管道分隔符和换行符结尾,如下所示:
one|two|three|four|five|
abc|def|pqr|lmn|xyz|
Run Code Online (Sandbox Code Playgroud)
我尝试了以下命令,但仍然不成功:
tr '\n' '|\n' < temp.txt
Run Code Online (Sandbox Code Playgroud)
和
sed -i 's/\n/|\n/g' temp.txt
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
除非您已加入行,否则\n
不会出现在sed
的模式空间中:行尾锚点是$
。
所以使用 GNU sed:
sed -i 's/$/|/' temp.txt
Run Code Online (Sandbox Code Playgroud)