Files
將文件中的多行轉換為單行會失去雙引號
這是我的範例文件
cat test.txt "IND WEB", "Speed Web (Internal webserver)", "Web Bill",
我嘗試了以下兩種將多行轉換為單行的解決方案,但是雙引號
"
失去了!cat listofapps.txt | xargs -s 8192 IND WEB, Speed Web (Internal webserver), Web Bill, tr '\n' < listofapps.txt IND WEB, Speed Web (Internal webserver), Web Bill,
您能否建議保留雙引號?
當您使用
xargs
時,雙引號會失去,因為它們正在被xargs
實用程序解釋(請參閱為什麼 xargs 從輸入中去除引號?)。您的
tr
命令已損壞,應該給您一條錯誤消息。要使用 刪除換行符,請
tr
使用tr -d '\n' <file
要用空格替換換行符,請使用
tr '\n' ' ' <file
用空格連接行:
paste -sd ' ' file
(與上面相同,只是它在末尾添加了一個換行符以使其成為有效的文本行)。
sed
方法:sed '${G;s/\n//g;p;};H;d' sample.txt
相同,但在評論中有解釋:
sed ' ${ # If we are in the last line G; # Get anything stored in the hold space s/\n//g; # Replace any occurrence of space with nothing p; # Print } # We are not in the last line so H; # save the current line d; # and start the next cycle without print ' sample.txt