다양한 종류의 파일이 포함된 아카이브에서 JPEG 사진만 추출하는 스크립트를 만들려고 합니다.
이를 위해 다음을 사용하려고 했습니다.
tar -xf MyTar.tar *.jpg
하지만 실패했고(*.jpg를 찾을 수 없음) "--wildcard"를 사용하도록 제안했습니다. 그래서 나는 노력했다
tar -xf MyTar.tar --wildcard *.jpg
그렇게 했지만 동일한 오류와 "--wildcard" 옵션이 모호하다는 다른 경고가 표시되었습니다.
tar에 대한 매뉴얼 페이지를 살펴봤지만 문제에 대한 단서를 찾지 못했습니다.
답변1
결국 나는 좋은 휴식 후에 답을 찾았습니다. 옵션은 와일드카드입니다.에스, 복수형...
그래서 명령은
tar -xf MyTar.tar --wildcards "*.jpg"
내가 필요한 것을 정확히 했어.
답변2
이와 같이 와일드카드 주위에 따옴표를 넣으면 "*.jpg"
쉘이 확장을 시도하지 않고 대신 tar로 바로 전달됩니다. tar가 쉘이 아닌 와일드카드를 평가하기를 원하며 따옴표가 이를 수행합니다.
답변3
일부 이전 버전의 tar의 경우 다음이 추출됩니다."남자" 파일:
파일 이름 대체 와일드카드는 아카이브에서 파일을 추출하는 데 사용할 수 없습니다. 대신 다음 형식의 명령을 사용하십시오.
tar xvf ... /dev/rmt/0 `tar tf ... /dev/rmt/0 | grep 'pattern' `