クライアントが名簿をエクセルやワードで持ち込んできた場合 †組体裁がバラバラでプロとしては組み直してあげたい時がある。 ワードをテキストに変換してあげると(_は空白文字) 会 長 山田 太郎 丸の内1-5-5 222-2222 副 会 長 井上 用水 丸の内3−3−3 222−1111 などバラバラで体裁を整えるために余分なスペースが埋め込んである。 会長 副会長 のように役職は役職だけ、名前は名前だけの方が、体裁を整えるに簡単だからだ。 入稿データを、イラレで処理しやすくするためにはどうしたらよいか? このような時には、頭からの文字数で切り分ければ良い。 awk '{str=substr($0,1,15); print str}' meibo.txt > yakusyoku.txt UTF8の場合、日本語は3バイトであるから、会___長の長さで切り分けるときには、上のように$0,1,15 名前の場合は awk '{str=substr($0,22,15); print str}' meibo.txt > namae.txt のように先頭から22バイト目 15バイト取得 のようにする。 因みにデータがShift_Jisの場合1文字は2バイトです。 UFT8文字コードの場合、1文字のバイト数が複雑なので、Shift-JISコードに変換しWINで処理すると良いでしょう 因みにwindows gawkはココからダウンロードしwindows-system32に入れておきましょう。 Winで・・・ †私の環境は未だにwinXP、zipをダウンロードして解凍しようとするとWinZip?を買えとアナウンスされる。 Windowには、その他にsed grepのようなツールも入っていないようだ。お使いの方はGNUからダウンロードしなくてはいけない。 |