이거 물어보기 전에 엄청 검색해봤는데! (그래도 누군가 중복을 지적해줬으면 좋겠습니다.)
그래서 저는 다음과 같은 많은 파일을 수집했습니다.
find . -name "2020-*"
...이러한 모든 파일을 .7z 아카이브로 "파이프"하는 방법이 있나요? (참고로 제가 원하는 작업은 실제로 파일 복사 작업이므로 "파이프라인"이 올바른 단어가 아닐 수도 있습니다.)
나는 비슷한 것을 시도했습니다 :
find . -name "2020-*" | 7z a -p pumple.7z
...이것은 콘솔 입력을 기대하는 것처럼 다음 줄 ">"을 제공합니다.
다음도 마찬가지입니다.
find . -name "2020-* > 7z a -p pumple.7z
답변1
파일 이름을 매개변수로 제공해야 합니다 7z
.
find . -name '2020-*' -exec 7z a -p pumple.7z {} +
이는 find
일치하는 이름을 가진 (모든 유형의) 파일을 찾도록 지시하며 2020-*
, 그러한 파일이 발견되면 7z a -p pumple.7z
파일 이름 다음에 실행하십시오. 은 {}
파일 이름에 대한 자리 표시자 이며 , 한 번에 가능한 한 많은 파일 이름을 사용하여 명령을 실행하도록 +
지시합니다 .find