
.txt ファイルのペアのセットがあります。各ファイルのペアでは、File1 に 1 つの整数が含まれ、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
)。ただし、parallel は{}
このアプローチを複雑にするようです。
必要であればさらに詳しい情報を提供できます。
答え1
答え2
ジルの回答を拡張します:
parallel 'head -n "$(cat {1})" {2}' ::: File1s* :::+ Corresponding_File2s*
おそらく、File2 にリンクしたい File1 がたくさんあるでしょう。:::+ がそれを行います。