"*.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/ {} \;

関連情報