DTPお助けツール

クライアントが名簿をエクセルやワードで持ち込んできた場合

組体裁がバラバラでプロとしては組み直してあげたい時がある。

ワードをテキストに変換してあげると(_は空白文字)

会   長  山田 太郎  丸の内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
会___長は先頭の1バイトから長さは5文字だから5x3=15バイト、すなわち1,15となる

名前の場合は

awk '{str=substr($0,22,15); print str}' meibo.txt > namae.txt

のように先頭から22バイト目 15バイト取得 のようにする。

因みにデータがShift_Jisの場合1文字は2バイトです。
多くはWINDOWSデータですので、WINマシンでこの操作をすれば良いでしょう。因みに日本語はShiftJISコードですから1文字2バイトで計算してあげます。

UFT8文字コードの場合、1文字のバイト数が複雑なので、Shift-JISコードに変換しWINで処理すると良いでしょう

因みにwindows gawkはココからダウンロードしwindows-system32に入れておきましょう。

Winで・・・

私の環境は未だにwinXP、zipをダウンロードして解凍しようとするとWinZipを買えとアナウンスされる。
仕方なくMacでダウンロードし解凍する。
gawk.exeをパスの通ったsystem32に入れると正常に起動してくれた。

Windowには、その他にsed grepのようなツールも入っていないようだ。お使いの方はGNUからダウンロードしなくてはいけない。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-10-31 (火) 09:13:39