
我有一組 .txt 檔案對。在每對檔案中,File1 包含一個整數,File2 包含多行文字。在我正在編寫的腳本中,我想使用 File1 中的整數來指定從 File2 頂部刪除多少行,然後將這些行寫入另一個檔案。我正在使用 gnu-parallel 在許多文件對上並行運行它。
似乎一個簡單的方法是將 File1 的內容作為選項-n
的參數傳遞head
-- 這可能嗎?我嘗試過使用xargs
and cat File1
,但都不起作用。
文件對範例:
File1:
2
File2:
AAA
BBB
CCC
DDD
期望的輸出:
File3:
AAA
BBB
如果我沒有使用 gnu-parallel,我可以將 File1 的內容分配給一個變數(儘管我不知道我是否可以將其傳遞到head
的-n
選項中?);然而,並行{}
似乎使這種方法變得複雜。
如果需要,我可以提供更多資訊。
答案1
答案2
擴展吉爾斯的答案:
parallel 'head -n "$(cat {1})" {2}' ::: File1s* :::+ Corresponding_File2s*
您可能有很多想要連結到 File2 的 File1。 :::+ 就是這樣做的。