在 shell 練習中,我被要求從換行符分隔串列中構建一個“,”分隔串列,最后一個句點如下:
abc
def
hij
會變成:
abc, def, hij.
他們讓我“寫一個命令列”。我嘗試使用tr,paste但我無法獲得空格,并且最后一段時間有問題。
我有點迷茫,我想不出任何可以幫助我的命令。有人可以給我一些線索嗎?
注意:我被要求的具體內容如下:
撰寫一個命令列,顯示 cat /etc/passwd 命令的輸出,洗掉注釋,從第二行開始每隔一行,反轉每個登錄名,按字母倒序排序,只保留 FT_LINE1 和 FT_LINE2 之間的登錄名,并且它們必須用“,”(不帶引號)分隔,并且輸出必須以“.”結尾。
我目前有這條線(不做逗號/句號的事情):
cat /etc/passwd | sed '/^#/d' | awk -F ':' 'NR % 2 == 0 {print $1}' | rev | sort -r | sed -n "$FT_LINE1,$FT_LINE2p"
uj5u.com熱心網友回復:
echo -e "abc\ndef\nhij" | sed ':a;N;$!ba;s/\n/, /g'
在這里解釋https://stackoverflow.com/a/1252191/2235381
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/452328.html
