.txtファイルのペアセットがあります。各ファイルペアでは、File1 に整数が含まれ、File2 にテキスト行が含まれます。私が作成しているスクリプトでFile1の整数を使用してFile2の一番上から削除する行数を指定し、その行を別のファイルに書きたいと思います。私は多くのファイルペアで並列に実行するためにgnu-parallelを使用しています。
-n
File1の内容をオプションの引数として渡すのが簡単な方法のようですhead
。これは可能ですか?私は試してみましたxargs
が、cat File1
どちらも動作しませんでした。
サンプルファイルのペア:
File1:
2
File2:
AAA
BBB
CCC
DDD
希望の出力:
File3:
AAA
BBB
head
gnu-parallelを使用しない場合は、File1の内容を変数に割り当てることができます(たとえオプションに渡すことができるかどうかはわかりませんが-n
)。しかし、並列処理のため、{}
このアプローチは複雑に見えます。
必要に応じて追加情報を提供できます。
答え1
答え2
Gillesの答えを拡張すると、次のようになります。
parallel 'head -n "$(cat {1})" {2}' ::: File1s* :::+ Corresponding_File2s*
File2に接続したいFile1が複数ある場合があります。 :::+ これがすることです。