Echo
如何使用 echo 命令在最後一行之前附加多行
{ This is test1 this is test2 this is test3 }
現在我想使用 echo 命令在最後一行之前附加多行任何人請幫助我!!!!
我的輸出如下所示
{ This is test1 this is test2 this is test3 this is test4 this is test5 }
使用Echo命令而不是 sed 或 awk
您可以使用
head
withecho
來實現這一點cat <outputfilename> | head -n -1 && echo -e " this is test4\n this is test5\n this is test6\n}"
如果您想將輸出附加到文件中,只需使用“
>
”輸出重定向(cat <outputfilename> | head -n -1 && echo -e " this is test4\n this is test5\n this is test6\n}") > <RESULTFILENAME>
sed
是這樣做的正確方法,即使你說你出於某種原因不想使用sed
.sed 腳本看起來像
$i\ this is test4\ this is test5
你會執行它作為
sed -f script.sed file
. 該i
命令在地址行之前插入行,$
地址在文件的最後一行。作為使用 GNU 的“單線”
sed
:$ sed -e '$i\' -e ' this is test4\' -e ' this is test5' file { This is test1 this is test2 this is test3 this is test4 this is test5 }
根據文件實際上是 JSON 文件還是其他結構化文本格式,可能會有類似的工具
jq
更適合處理它。按照您的要求使用
echo
(這也假設您使用head
的是 GNU coreutils,因為該-n
選項通常不採用負數):{ head -n -1 file echo ' this is test4' echo ' this is test5' tail -n 1 file; } >newfile