"*.squashfs"에 대한 조회 결과를 unsquashfs로 파이프합니다.

"*.squashfs"에 대한 조회 결과를 unsquashfs로 파이프합니다.

압축된 파일 시스템을 찾고 파일 시스템의 압축을 풀기 위해 출력을 전달하는 것을 찾고 있는데, 이는 압축된 파일 시스템 외부의 절대 경로여야 합니다.

/tmp/mnt/live/filesystem.squashfs

원하는 출력

/tmp/unsquashedfs/files

나는 이런 코드 줄을 가지고 장난을 치고 있습니다.

find /tmp/mnt -iname '*.squashfs' -exec unsqaushfs '*.squashfs' {} \;

find /tmp/mnt -print0 -iname "*.squashfs" | unsquashfs "*.squashfs" -T - 

하지만 제대로 작동하지 못했습니다. 누구든지 도움을 주시면 대단히 감사하겠습니다!

답변1

당신은 기본적으로 찾고 있습니다

find /tmp/mnt -iname '*.squashfs' -exec unsquashfs {} \;

{}일치하는 파일의 경로로 대체됩니다.

추출할 디렉터리를 지정하려면 이 -d옵션을 전달하세요.

find /tmp/mnt -iname '*.squashfs' -exec unsquashfs -d /tmp/unsquashedfs/files {} \;

답변2

그래서 나는 거꾸로 작업하고 있는 것 같고 이것이 나에게 효과가 있는 것 같습니다.

sudo find . -type f \( -name '*.squashfs' -o -name "*.SQFS" \) -exec cp {}  /tmp/fs.squashfs  \; && sudo unsquashfs /tmp/fs.squashfs

네티즌들의 도움 덕분에 드디어 완성했어요! (다른 매개변수를 검색할 수 있어야 하고 앞으로 더 많은 매개변수를 추가할 수 있어야 합니다)

find /tmp/mnt \( -iname '*.squashfs' -o -iname "*.SQFS" \) -exec unsquashfs -d /tmp/squashfs-root/ {} \;

관련 정보