.sh로 끝나는 모든 스크립트를 찾아 압축/보관하고 싶어서 다음과 같이 작성했습니다.
touch ~/archive.tar; find ~ -type f -name '*.sh' -exec rvf ~/archive.tar {} \;
문제는 archive.tar라는 아카이브를 생성한 후 해당 아카이브가 파일을 현재 디렉터리에 추출하지 않고 파일이 아카이브된 디렉터리에 추출한다는 것입니다. 예를 들어 아카이브 스크립트를 호출할 수 있지만 현재 있는 현재 디렉토리가 아닌 ~/Desktop/wtf/delete.sh
폴더로 추출됩니다 . wtf
그렇다면 모든 스크립트가 ./filename.sh 형식이 되도록 찾기 스크립트를 어떻게 편집할 수 있습니까?
답변1
을 사용한다고 가정하면 다음과 GNU tar
같이 말할 수 있습니다.
tar --transform 's/.*\///' -xzf archive.tgz
이렇게 하면 파일 이름에서 마지막 슬래시까지 모든 내용이 제거됩니다.