• ベストアンサー

カンマ区切りの列の置換を行いたい場合

以下のようなファイルをあり三カラム目自体を置換したい場合どうすればいいでしょうか? 三カラム目の文字数が固定ではないためcutなどでの切り出しも難しいのでなにかいい案はないでしょうか? 例 1234,12,34567,abcd,efg,

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

意図した形か判らないが、sedを使って3カラム目を任意の文字列に変換する場合。 cat あなたのテキストファイル | sed -e "s/\(^[^,][^,]*\),\([^,][^,]*\),\([^,][^,]*\),/\1,\2,ここに置換したい文字列を入れる,/g" 計算を伴うなら、#1の回答の通り、awkやperlなどを使うことになる。

barash
質問者

お礼

お礼のほうが遅れてしまい申し訳ありませんでした。 上記の内容でやりたいことができました。 ありがとうございました。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

置換とは具体的にどんな置換をしたいのでしょうか? 決まった文字列にするなら、sedでできます。 計算したり加工したりするなら、awkやperlがよいでしょう。

barash
質問者

お礼

お礼のほうが遅れてしまい申し訳ありませんでした。 結果としてsedを使用して置換の方行うことができました。 ありがとうございました。

barash
質問者

補足

ご回答のほどありがとうございます。 今考えているの置換したい情報をファイルに保持しそれを指定したカラムの値に置き換えるという方法で考えています。

関連するQ&A

専門家に質問してみよう