最初の列の番号(1〜30まで)に基づいてファイルをフィルタリングし、フィルタリングパラメータに対応する行に1つのファイルを保存したいとします。だから、最後に30ファイルを作成する必要があります。私はシェルとawkを使ってforループを使ってこれをしようとしていますが、うまくいきません。あなたが必要とすると、このようなものですawkコマンドラインから複数のファイルを保存する
for ((K=1; K <= 30; K++)); do awk '{if($1==$K) print $0}' example_file.map > example_file_CHR${K}.map; done
あなたの質問には、簡潔でテスト可能なサンプル入力と予想される出力が含まれています。私たちはあなたの問題を実証するために30行以上のサンプル入力ファイルと30個の出力ファイルを必要としません.3つではなく3つはうまく動作するはずです。 –