![스크립트를 사용하여 디렉터리의 각 tar 파일에 대한 콘텐츠 파일을 생성합니다.](https://linux55.com/image/184900/%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%9D%98%20%EA%B0%81%20tar%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EB%8C%80%ED%95%9C%20%EC%BD%98%ED%85%90%EC%B8%A0%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%83%9D%EC%84%B1%ED%95%A9%EB%8B%88%EB%8B%A4..png)
현재 내 디렉토리에는 70개 이상의 tar 파일이 있습니다. 각 파일의 내용을 저장하기 위해 tar -tvf file1.tar > file1_contents.txt 명령을 실행합니다.
50개 이상의 파일을 한 번에 처리하는 방법을 알고 싶습니다.
답변1
이 예에서는 bash(또는 다른 POSIX 셸)를 사용합니다. 이는 특정 언어에 태그를 지정하지 않았기 때문에 가정한 것입니다. 해당 디렉토리로 전환한 후 다음을 수행하십시오.
for i in *.tar; do
tar tvf "$i" > "${i%.tar*}_contents.txt"
done
여러분이 좋아하는 스크립팅 언어의 루프에 대해 배워야 합니다. 루프는 매우 강력합니다. 참고로 일부 tar
구현(예: bsdtar
GNU 또는 최신 버전) 에서는 압축된 tar 파일( 예 : ) tar
에서도 작동합니다 . 다른 파일을 반영하도록 변경하기만 하면 됩니다 .tar.gz
tar.bz2
*.tar