我已經看到它是使用 sed 完成的(如果你愿意在 sed 中寫下如何做到這一點并解釋它背后的正則運算式,我也會很感激),但我想知道怎么做使用 tr。
我的想法是:cat file|tr -d ^'\n'or ^\n,但第一個洗掉了每個 '\n',第二個沒有。
uj5u.com熱心網友回復:
tr 在 linux 上,至少可以壓縮重復的字符:
echo -ne $a
the quick
brown fox
jumps over
echo -ne $a |tr -s '\n'
the quick
brown fox
jumps over
uj5u.com熱心網友回復:
另一種解決方案是grep . file.
uj5u.com熱心網友回復:
tr 作用于字符流,而不是行流(這是 sed 和 awk 等的默認設定)。-d 標志洗掉字串列中的任何字符。 tr -d '\n'將洗掉流中的所有換行符。
我不確定自己是否可以使用 tr 洗掉空行。
使用 sed sed '/^$/d'。 ^匹配前排。 $匹配行尾d表示您希望 sed 洗掉任何匹配的內容。但是,這類問題在其他地方已經得到了更全面的回答,所以我會回到谷歌并找到一個全面的 sed 或 unix 教程。
uj5u.com熱心網友回復:
tr是tr anslate 的縮寫。是將一組字符轉換為另一組字符。這與從檔案中洗掉空白行無關,您可以使用其他幾個工具(例如 sed、awk、grep)來執行此操作。
使用強制 POSIX 工具洗掉空行的簡單方法是:
grep '.' file
grep -v '^$' file
sed -n '/./p' file
sed '/^$/d' file
awk '/./' file
awk '!/^$/' file
awk '$0 != ""' file
awk 'length($0) != 0' file
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/406089.html
標籤:
