特定のフィールドの値を取得する方法
以下のようなコマンドを実行すると、sample.txt
内の空白をフィールドの区切り文字として2番目のフィールドの値を取得できます。
awk '{print $2}' sample.txt
-
$1
:1番目のフィールド -
$2
:2番目のフィールド -
$3
:3番目のフィールド - 以降同様
例
以下のようなサンプルデータを含むファイル data.txt
を用意します。
data.txt
Alice 25 Engineer
Bob 30 Designer
Charlie 22 Developer
各行の2番目のフィールドを取得
次のコマンドを実行して、各行の2番目のフィールド(年齢)を取得します。
$ awk '{print $2}' data.txt
25
30
22
-
awk
:AWKコマンドを呼び出す -
'{print $2}'
:各行の2番目のフィールドを出力する -
data.txt
:処理対象のファイル名
複数フィールドの取得
複数のフィールドを取得することも可能です。例えば、名前と年齢を取得する場合は次のようにします。
$ awk '{print $1, $2}' data.txt
Alice 25
Bob 30
Charlie 22
別の区切り文字を使用する
もしデータがカンマで区切られている場合、-F
オプションを使用して区切り文字を指定できます。
data.txt
Alice,25,Engineer
Bob,30,Designer
Charlie,22,Developer
$ awk -F',' '{print $2}' data.txt
25
30
22