私は以下のテキストファイル/tmp/some.txt
を持っているが、私は(すなわち行に基づく。列に基づいていない)形式以下とcsvファイルを作成したいシェルスクリプトの行に基づいてCSVファイルを作成するにはどうすればよいですか?
JOHN YES 6 6 2345762
SHAUN NO 6 6 2345748
値。私はwc -l /tmp/some.txt | awk '{print $1}'
ここでのコードの下に
for i in `wc -l /tmp/some.txt | awk '{print $1}'`
do
awk 'NR==$i' /tmp/some.txt | awk '{print $1","$2","$3","$4","$5}' >> /tmp/some.csv
done
を試してみました
JOHN,YES,6,6,2345762
SHAUN,NO,6,6,2345748
は2(テキストファイル内すなわち2行)として値を取得します。 と各行awk 'NR==$i' /tmp/some.txt | awk '{print $1","$2","$3","$4","$5}'
は、カンマで区切られたsome.csv
ファイルに5つのフィールドを出力します。
私は別々に各コマンドを実行すると動作します。しかし、私はシェルスクリプトとして私は空のsome.csv
ファイルを取得しています。
をなぜあなたは1つだけコンマでスペースのすべてのブロックを置き換えるものではありませんか? – fedorqui