재귀적으로 다시 압축해야 하는 기본 디렉터리에 여러 개의 zip 파일이 있습니다. 이러한 파일에는 공백, 아포스트로피, 밑줄 등이 있습니다.
advzip
지원되지 않는 압축 방법(다시 압축해야 하는 이유)에 대해 불평하므로 작동하지 않습니다. 이 모든 파일의 압축이 풀리면 수천 개가 있으므로 일부 자동화를 통해 다시 압축/압축하면 됩니다.
파일은 원래 노래방 라이브러리용 MP3+G 도구를 사용하여 Windows에서 생성되었습니다.
OS: Linux Mint 18
스크립트 작성: 초보자
for file in *.zip
do
unzip -j "$file"
rm -f "$file"
zip -mq "$file" *.mp3 *.cdg *.MP3 *.CDG *.Mp3 *.Cdg
rm -f *.mp3 *.cdg *.MP3 *.CDG *.Mp3 *.Cdg
done
위는 내가 찾고 있는 것입니다. 그러나 나는 스크립트에 능숙하지 않기 때문에 하위 디렉토리의 모든 zip에 대해서도 스크립트를 만드는 방법을 잘 모르겠습니다. 파일 이름의 예:
SC0000-01 - Someone - Something.zip
zip 파일은
SC0000-01 - Someone - Something.cdg
SC0000-01 - Someone - Something.mp3
답변1
advzip을 언급할 때 나는 당신이 Linux를 사용한다고 가정합니다. 여기에서 각 파일을 반복하는 간단한 스크립트를 작성할 수 있습니다.
for f in *;
do;
unzip $f;
done
이것이 도움이 되기를 바랍니다. 그렇지 않은 경우 좀 더 자세한 내용을 제공하는 것이 좋습니다.
답변2
내가 이것을 필요한 것보다 더 복잡하게 만들지 않는 한:
find . -name "*.zip" -print0 | while read -d $'\0' file
do
unzip -j "$file"
rm -f "$file"
zip -mq "$file" *.mp3 *.cdg *.MP3 *.CDG *.Mp3 *.Cdg
rm -f *.mp3 *.cdg *.MP3 *.CDG *.Mp3 *.Cdg
done