• 締切済み

どのようにprintしたらいいのか?

このようなシェルをつくっています。 例) rpm | egrep 'Number|Title|Price' | { print $3 } このコマンドを実行したときの 表示例) 01 手紙 \400 02 椿山課長の7日間 \800 03 地下鉄(メトロ)にのって \500 …… ……(省略) この結果を次のような結果にしたい。 表示例) '01','手紙','\400' '02','椿山課長の7日間','\800' '03','地下鉄(メトロ)に乗って','\500' …… ……(省略) ※通常rpmコマンドではこんな出力結果はできません。 例にしやすいようにしました。 grepしたい 'Number|Title|Price' の情報一まとめにし、CSV形式で printしたいのですがどのようにしたらよいですか? 多分、printの部分を編集すればいいと思うのですがどのようにしたらよいかわかりません。教えてください。お願いします。

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

まず始めに。 「シェル」といったら、/bin/sh とか /bin/csh などの実行プログラムのことで、 シェルに実行させるスクリプトをシェルとは呼びません。 つか呼ばないで。 awkだけでできると思いますが、とりあえずegrepの結果を整形するところだけ #!/usr/bin/awk -f { r[NR%3] = $3 if (NR % 3 == 0) printf "'%s','%s','%s'\n", r[1], r[2], r[0] } こんな感じの awk スクリプトでお望みの形式に整形できると思います。 これをコマンドラインで直に書くのはクォーティングルールの 関係で面倒なのでパスさせてください。

関連するQ&A

専門家に質問してみよう