awkを使用した4出力1ファイルの生成

awkを使用した4出力1ファイルの生成

私は1つの数字列(長さ= 14)を含むテキストファイルである大きなリストを持っています。番号には、00001-00004という4つの異なるプレフィックスがあります。 1つのリストを4つのdiffrendファイルに分割するにはどうすればよいですか? 1 つのファイルには、プレフィックスが 1 つの数値リストを含める必要があります。

答え1

次のawkコマンドを使用します。

awk '/^00001/{print >"file1"} \
     /^00002/{print >"file2"} \
     /^00003/{print >"file3"} \
     /^00004/{print >"file4"}' inputfile

行にどのプレフィックスがあるかを確認し、行全体をに印刷file1しますfile4inputfile大きなリストを含むファイル。

答え2

(G)awkと一致する

awk 'match($0,/^0000([1-4])/,a){print > "file"a[1]}' file

POSIX awk

awk '/0000[1-4]/{print > "file"substr($0,5,1)}' file

または両方にプレフィックスがある場合

awk '{print > "file"substr($0,5,1)}' file

答え3

無料でお使いいただけますbash

while IFS= read -r num
do
  echo "$num" >> "file${num:4:1}"
done < number_list.file

関連情報