.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이 여러 개 있을 수 있습니다. :::+ 이것이 하는 일입니다.