Bash

將所有換行符替換為空格,除了最後一個

  • July 5, 2021

除了最後一個換行符之外,如何用空格替換所有換行符。我可以使用將所有換行符替換為空格,tr但有一些例外情況我該怎麼做?

您可以使用paste -s -d ' ' file.txt

$ cat file.txt
one line
another line
third line
fourth line

$ paste -s -d ' ' file.txt 
one line another line third line fourth line

您可以使用tr將所有換行符替換為空格並將輸出傳遞給sed並將最後一個空格替換回換行符:

tr '\n' ' ' < afile.txt | sed '$s/ $/\n/'

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