RHEL9 awkコマンドでファイルを分割するサンプル
環境
$cat/etc/redhat-release
Red Hat Enterprise Linux release 9.2 (Plow)
操作例
サンプルファイルtest.txt
depid cityid date 101 4 2023/11/12 102 3 2023/12/12 103 2 2023/10/13 104 1 2023/10/22
1.特定列の値単位でファイルを分割する
$awk '{file ="city"$2;print $0 >> file}' test.txt $ ls city1 city2 city3 city4 test.txt
2.行数を指定してファイルを分割する
$ awk 'BEGIN{c=0}{file="yy"c;print $0 >> file;NR%3==0&&c++}' test.txt $ ls test.txt yy0 yy1 yy2 yy3
3.偶数行・奇数行でファイルを分割する
$ awk '{file="lines"NR%2;print $0 >> file}' test.txt $ ls test.txt lines0 lines1