在我的Bash腳本中,我寫了一行文本文件。刪除文本文件的最後一行,而不是附加一個?
echo "string" > /folder/file.txt
以上示例創建一個新文件並將該字符串寫入該文件。
echo "string" >> /folder/file.txt
第二個示例附加到文件,將字符串寫入新行。
我的問題是...是否有一個命令刪除最後一行?如果沒有,我想我必須逐行復制到一個臨時文件中,在我想刪除的最後一行之前停止,然後用新文件覆蓋舊文件(現在沒有最後一行) 。如果這是唯一的解決方案,有沒有辦法找出文本文件中有多少行?所以我可以在「n - 1」停止循環。
非常感謝您,非常適合我的需求。我使用** head -n -1 fromfile> tofile **將它打印到一個文件中。出於好奇,對原始文件進行更改的最簡單方法是什麼?我是否必須將** head **用於臨時文件,然後移動臨時文件覆蓋原始文件?或者也許有一個小竅門? – Paolo