◀一般トップへ
  • 5546 CSVファイルのフィールド6だけを置換したい。
    • 5548 RE: CSVファイルのフィールド6だけを置換したい。
      • 5552 Re2: CSVファイルのフィールド6だけを置換したい。
    • 5551 Re:CSVファイルのフィールド6だけを置換したい。
    • 5553 Re: CSVファイルのフィールド6だけを置換したい。
      • 5554 うごきました。
  • [5546] CSVファイルのフィールド6だけを置換したい。 ろろ 2006年10月31日 20:19

    フィールド6だけ,BritainをUnited Kingdomに置換えしたい。(GAWK マニュアル August 1992より)
    gawkファイル BEGIN{FS=",";OFS=","}{gsub(/Britain/,"United Kingdom",$6); print $0}
    gawk1行 gawk 'BEGIN{FS=",";OFS=","}{gsub(/Britain/,"United Kingdom",$6); print $0}' csv.csv
    上の行は,Invalid charがでます。
    perlファイル 理解不足とa2pで対応できるため省略
    perl1行 理解不足のため省略
    サクラエディタでなんとかなりますか? サクラエディタの背景色黄色お気に入りです。
    置換前(N) ?????????
    置換後(N) ?????????
    よろしくお願いします。
    • [5548] RE: CSVファイルのフィールド6だけを置換したい。 すい 2006年11月01日 01:40

      >フィールド6だけ,BritainをUnited Kingdomに置換えしたい。(GAWK マニュアル August 1992より)

      正規表現ONで

      置換前(N):^((("[^"]*"|[^",]*),){5})Britain,
      置換後(P):$1United Kingdom,

      で置換、とか?
      • [5552] Re2: CSVファイルのフィールド6だけを置換したい。 じゅうじ 2006年11月01日 07:38

        > 正規表現ONで
        >
        > 置換前(N):^((("[^"]*"|[^",]*),){5})Britain,
        > 置換後(P):$1United Kingdom,

        (N)→^(( *".*?",| *[^"][^,]*,){5})Britain,
        sample:
        "a " ,a",b,c,d,e,Britain,

        括弧を減らしたりもしてます。
    • [5551] Re:CSVファイルのフィールド6だけを置換したい。 じゅうじ 2006年11月01日 06:25

      ▼ ろろさん
      > サクラエディタでなんとかなりますか? サクラエディタの背景色黄色お気に入りです。
      > 置換前(N) ?????????
      > 置換後(N) ?????????

      -------------------------
      a,b,c,d,e,1USA2SAUSA3,g,h
      -------------------------

      (N)→^(([^,]*,){5}[^,]*)USA([^,]*?,)
      (P)→$1United States$3

      (N)→^(([^,]*,){5}[^,]*?)USA([^,]*,)
      (P)→$1United States$3

      USAが2個以上有ってもいい方法見つかりませんね,perlの場合。
    • [5553] Re: CSVファイルのフィールド6だけを置換したい。 しみづ 2006年11月02日 17:42

      >gawkファイル BEGIN{FS=",";OFS=","}{gsub(/Britain/,"United Kingdom",$6); print $0}

      > 上の行は,Invalid charがでます。

      gawkファイル BEGIN{FS=",";OFS=",";}{gsub(/Britain/,"United Kingdom",$6); print $0;}
      としたら、どうなるでしょう。
      • [5554] うごきました。 ろろ 2006年11月02日 18:44

        ▼ しみづさん
        gawk "BEGIN{FS=\",\";OFS=\",\"}{gsub(/Britain/,\"United Kingdom\",$6); print $0}" csv.csv
        ありがとうございました。