列に特定の値を持つ行の選択

列に特定の値を持つ行の選択

以下は、「example」というファイルの値の一部です。行を1つだけ配置しましたが、約1000個あります。

a  7  q  y  4  5  8  9  5  6  567  5678578  56784  345  345  2  df  4  1  245
b  7  q  y  4  5  8  9  5  6  567  5674578  56789  334  324  3  df  4  1  245

具体的には、列1のaまたはbの値はどうですか?最初の列がaまたはbの残りの1000行についても同様です。値が「a」のすべての行が1つのファイルにあり、値が「b」のすべての行が別のファイルにあるように、行を分割したいと思います。それは可能ですか?

awk '$1 == a' /home/me/example > /home/me/rowa

私は成功せずにこれを試しましたが、理由がわかりません。誰でもこれを明確にするのに役立ちますか?

答え1

awkコマンドを使用するのは簡単です

awk '{print > $1".txt"}' infile.txt

これにより、最初の列が「a」のみを持つ行を含む「a.txt」ファイルと、最初の列が「b」のみを持つ行を含む「b.txt」ファイルが作成されます(最初の列にaまたはbのみが含まれている場合)。

上記は、データが次のように区切られている場合です。商標またはスペース、これが異なる場合は awk でわかります-F"DELIMITER"。ここで、DELIMITER はファイルフィールド区切り文字を表します。

関連情報