현재 내 디렉토리에는 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