SEDについて
今回は、前回のAWKに引き続き「SED」コマンドについてを載せます。
「SED」コマンドとは、与えられた文字列の置換、行の削除の処理を行います。前回掲載した「AWK」コマンドと共にシェルプログラミングの幅を大きく広げていけます。単純な文字列の置換も正規表現も使用可能です。
sedの使用方法は、簡単で以下の様なコマンドにて、ファイル内の文字列を置換する事ができます。
$ sed -e “s/xxx.xxx.xxx.xxx/192.168.000.001/g” ip-address.txt
これで「ip-address.txt」内に含まれる「xxx.xxx.xxx.xxx」の全てを「192.168.000.001」に置換する事ができます。これは一番単純な置換の例です。
また行の削除は、awkによっても可能ですが、処理すべきターゲットとなる文字列が必要となりますが、sedでは任意の範囲の行削除が可能です。
$ sed -e “5.10d” ip-address.txt
これで単純に5行目から10行目までを削除する事ができます。また新たな行の追加も下記の様にすれば簡単に行う事ができます。
$ sed -e “/Error/i ### 以下がエラーです ###” ip-address.txt
「Error」がある行の次に「### 以下がエラーです ###」を追加できます。
この様に、awk、sedを使用する事で、ファイル操作や変数内の文字列操作など、シェルプログラミングで行える範囲が広がる事がわかると思います。
わざわざCやjava等を使用しなくても、膨大な量の処理でなければシェルプログラミングを駆使すると、素早い対応ができると言えます。