awkで複数の区切り文字を指定する場合、[]を使います。
.(ドット)と/(スラッシュ)を区切り文字にしたい場合、以下のようにします。
awk -F'[./]’ ‘{print $2}’ kamo
※$2の箇所は例です。
実際にやってみましょう。
以下のファイルがあった場合に.(ドット)と/(スラッシュ)で区切ってみます。
1 2 3 |
#cat kamo inet 127.0.0.1/8 scope host lo # |
まずは$4の結果を表示します。
1 2 3 |
# awk -F'[./]' '{print $4}' kamo 1 # |
続いて$5の結果を表示します。
1 2 3 |
# awk -F'[./]' '{print $5}' kamo 8 scope host lo # |
以上から、.(ドット)と/(スラッシュ)で区切れていることがわかりますね。
これ、実はGnu awkの正規表現の機能を使っています。
[ ] :選択リスト[ ] 内の内一文字
AWK を 気軽に使いませう より引用し、一部表現を変更。