Tail

尾 -1 文件 1 >> 文件 2 沒有 n

  • May 3, 2021

這可能很簡單,但環顧四周後我找不到解決問題的方法,我正在使用 tail -1 file1 從 file1 恢復最後一行,並希望將其添加到現有的表文件中,以便我可以填寫列(用逗號分隔)通過執行:

tail -1 file1 >> file2
echo "," >> file2
tail -1 file3 >> file2
echo "," >> file2
....

但我的問題是每個新條目都是在新行中完成的。我怎樣才能防止這種情況?

此致

tail -1提取指定文件的最後一行,包括結束最後一行的換行符。你需要去掉這個換行符。

命令替換$(…)會去除尾隨的換行符。因此,將tail呼叫放在命令替換中。

printf '%s,%s\n' "$(tail -n1 file1)" "$(tail -n1 file3)" >>file2

根據您的外殼和您的數據,echo "$(tail -n1 file1),$(tail -n1 file3)" >>file2可能會也可能不會。如果第一列沒有以反斜杠開頭-並且沒有列包含反斜杠,則可以保證工作。

引用自:https://unix.stackexchange.com/questions/647871