다음 파일을 tar 및 zip으로 압축합니다.
/opt/abc/xyz/abc.xml
도착하다:
/tmp/backup/abc.xml.tar.gz
/opt/abc/xyz/(same path)
압축을 풀고 디렉토리 에 추출하려고 합니다 .
나는 다음 명령을 발견했습니다. 사용자로 실행 했는데 root
오류나 출력이 발견되지 않았습니다. 아래 명령이 abc.xml
이를 추출 abc.xml.tar.gz
하고 이름을 abc.xml_v9
.
tar --force-local --transform='s/abc.xml/abc.xml_v9/' -zxpsf /tmp/backup/abc.xml.tar.gz -C /
출력은
/opt/abc/xyz/abc.xml_v9
tar의 매뉴얼 페이지에는 다음 정보가 표시됩니다.
File name transformations:
--transform=EXPRESSION, --xform=EXPRESSION
use sed replace EXPRESSION to transform file names
File name matching options (affect both exclude and include patterns):
누군가가 몇 가지 예를 들어 위 명령을 이해하도록 도와줄 수 있습니까?
답변1
샘플 파일 소스 /tmp/backup/abc.xml.tar.gz
및 대상을 사용하십시오 /opt/abc/xyz/abc.xml_v9
. 다음 명령을 사용할 수 있습니다.
tar --transform='flags=r;s|abc.xml|abc.xml_v9|' -xvf abc.xml.tar.gz -C /opt
또는
tar --transform='flags=r;s/abc.xml/abc.xml_v9/' -xvf abc.xml.tar.gz -C /opt
당신은 얻을 것이다
/opt/abc/xyz/abc.xml_v9
바라보다:
https://www.gnu.org/software/tar/manual/html_section/transform.html#transform