2011-12-23 20 views
0

csvファイル内の3つのtxtファイルからデータを書き込もうとしています。シェルスクリプトを使用してテキストファイルからCSVを生成する方法

三つのファイル、ファイル内のデータの下に

データが含まれている

app2 11.12.16 name1 2 
app2 11.12.17 name2 3 
として

app1 11.12.16 name1 2 
app1 11.12.17 name2 3 

二れたまま、この形式-server日付のファイル名の番号

最初のtxtファイルであります

、サーバーがapp3のthrirdファイルと同じ

シェルスクリプトを使用して、これらの3つのファイルからこのデータを1つのcsvファイルに入れたいとします。 txtファイルのデータはスペースで区切られます。

データは同じ方法で別の行に移動する必要があります。

もう1つのことは、サーバーの日付ファイル名とフィルタを置く最初の行に見出しを付けることができますか?出来ますか?事前に

おかげで...

+0

「ちょうど異なる行」とはどういう意味ですか? – fge

+0

あなたは1つに3つのファイルを組み合わせるように求めているのですか? – SiegeX

答えて

2

これはそれを行う方法です:

(
    echo "server,date,filename,number"; sed 's/\s\+/,/g' file* 
) >target.csv 

これはしかし、行の順序を変更しません。

+1

forループは必要ありません。単に 'sed 's/\ s \ + /、/ g'ファイル*> out.csv' – SiegeX

+0

いいです!それを知らなかった(マンページを十分に読まなかった)。編集されました! – fge

+1

'echo'は必要ありません: 'sed 's/\ s \ +///g; 1iサーバー、日付、ファイル名、番号'ファイル* ' – SiegeX

関連する問題