Bash :: 將文字附加到檔案的輸出

Bash :: 將文字附加到檔案的輸出

我對 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.在字串前面添加。

相關內容