フクの非日常

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

sedよこんにちは

s/文字列1/文字列2/g

文字列1を文字列2に置き換える、魔法の呪文。

もともとコンピュータは繰り返し処理が得意。
たとえば、複数のファイルに出てくる文字列が間違っていた。
「ポーション」が「ボーション」になっていたとする。
その場合、ファイル全体に対してGrepをかけて、
ひとつづつ丁寧に修正することを考えて憂鬱になることだろう。
これが、「エーテル」も「エーデル」になってたらさらにやる気が無くなる。

複数のファイルに対して同じ修正を加える場合、手でやるよりも
コンピュータで一気にやるのが早くて正確。
そのためには、いつでも呪文を使えるようにしておかなくてはならない。
とはいえ、普段は文字列の修正とか1つのファイルの中なら「置換」で済ませるし、
予期しない文字列も置き換わるのが怖いから、
Findしながら1つづつ手で修正することが多い。
時間があって丁寧にやれるときは良いのだが、時間が無いときや
莫大にデータ量が多いときはこの限りではない。

よくある話で、手作業でがーっとやる時間と、仕掛け作って動かす時間は
トータルでどっちが早いかということ。
確かに一刻も早く手作業をスタートすれば、時間も読めるしいつかはゴールに届く。
仕掛けを作る場合もエラーが混入する恐れがあるし、上手く変換できなかったら
やり直しに時間をとられてしまう。
しかし、この先何度も同じような変換作業と付き合っていくことを考えると、
いつかは手作業を卒業する必要がある。

s/文字列1/文字列2/g

これはsed(せど、と読む)の表記。
毎日コンピュータを触っていながら、sedのコマンドを叩いたのは実は今回が初めてだったり。
自分が入社した頃、ある先輩が退職するときにsed&awkの本を譲ってもらったっけ。。
I先輩、あなたが託したsedを遂に実行する日がやってきました。

こんな小技が使えるととても便利。
sedはUnix系のコマンドなので、普通にWindowsしか触ってない人は実行できない。
cygwinをインストールしよう。(便利な世の中になったものよのう)
ちょこっと仕事が楽になる技を積み重ねていこう。
今回はawkまで使い切れなかったなあー。正規表現も近いうちには。

コメント


管理者にだけ表示を許可する
 

 

トラックバック

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。