データ例
1 yamada_taro
2 kimura_hanako
3 takahashi_jiro
4 sato_momoko
5 tanaka_akane
上記のように、番号と名前からなるデータがあるとします。また、名前は姓と名の間に"_"が入った形式となっています。
こういうデータから、awkを使って、"_"以降の名を削除することを考えましょう。なお、このデータは"test.dat"というファイルに保存されているとします。
コード例
正規表現を使った文字列置換ができるsub関数を使います。
awk '{
sub("_.*", "");
print $0;
}' test.dat
脚注
はじめgsub関数を使っていたのですが、今回のデータ例ではsub関数で事足ります。なお、sub関数とgsub関数の違いについては軽くまとめました。
[awk] sub関数とgsub関数の違い
出力
1 yamada
2 kimura
3 takahashi
4 sato
5 tanaka