
我對 Shell 腳本非常陌生,所以這可能是一個非常簡單的解決方案,但我正在努力讓它工作。我有一個包含以下內容的文件:
example1.eu
example2.eu
example3.eu
我想做的是將文件的內容輸出到單行格式,如下所示。
測試.example1.eu,測試.example2.eu,測試.example3.eu
等等。
我的腳本中有這個,但我不知道如何為文件的第一個條目添加“測試”。
cat file | xargs | sed -e 's/ /,test./g'
example1.eu,test.example2.eu,test.example3.eu
請指教 謝謝
答案1
您可以使用「貼上」來設定分隔符號。例如
cat file | sed -e 's/^/test./' | paste -sd ','
編輯:改進版本(tripleee的評論)
sed file -e 's/^/test./' | paste -sd ','
答案2
這可以使用以下命令來完成awk
:
$ awk '{a=a"test."$0","}END{sub(/,$/,"",a);print a}' file
test.example1.eu,test.example2.eu,test.example3.eu
這將創建一個字串變數a
並將每一行和一個逗號附加到該字串。然後它將最後的逗號替換為空並列印字串。
先前的回覆帶有逗號:
$ awk 'BEGIN{ORS=","}{print "test."$0}' file
test.example1.eu,test.example2.eu,test.example3.eu,
這將輸出記錄分隔符號設為逗號,然後列印每行並test.
在字串前面添加。