我正在編寫bash
腳本以從procmail獲取數據並生成輸出CSV文件。列到行使用sed編譯
最後,我需要從這個翻譯:
---label1: 123456
---label2: 654321
---label3: 246810
---label4: 135791
---label5: 101010
這樣:
label1,label2,label3,label4,label5
123456,654321,246810,135791,101010
我可以用一個ruby
腳本做到這一點很容易,但我不想調用另一個除bash
腳本以外的其他腳本。所以我儘管用sed
來做。
我可以提取我想是這樣的數據:
sed -nr 's/^---(\S+): (\S+)$/\1,\2/p'
但我不知道怎麼調換它。你可以幫我嗎?
-r輸出重定向到CSV文件是非標準的 – 2009-07-29 10:20:18
我不明白你不使用Ruby的原因。您希望避免使用腳本語言,因此您使用兩種語言。你的腳本將會發展壯大,在你知道它之前,會有遍佈各處的循環和tr以及awk和sed調用。 如果不是現在,使用正確的CSV庫也可能有所幫助,然後在下一個有數據中有引號或逗號的工作上。 我不知道Ruby,但Perl有一個。 – reinierpost 2009-07-29 10:24:35
問題是我不想要一個不同的文件,只需要一個bash腳本來處理。但是我發現了一種在bash腳本中使用ruby作爲線索的方法。 – chmeee 2009-07-29 11:07:45