mattintosh note

どこかのエンジニアモドキの備忘録

Finder で XZ 形式を扱う(p7zip)

この前、XZ Utils を使ったワークフローを作ったけど、--threads オプションを使っているのにスレッド数が増えないのでマニュアル見直したら「マルチスレッドにまだ対応してない」みたいなことが書いてあったので p7zip を使うことにした。

# mode: stdin

while read f
do
    
    ### compress ###
    [ -d "$f" ] && {
        tar cfC - "${f%/*}" "${f##*/}" | 7z a -si "$f".tar.xz
    }
    
    ### decompress ###
    [ -f "$f" -a -z "${f##*.tar.xz}" ] && {
        7z x -so "$f" | tar xfC - "${f%/*}"
    }
    
done
afplay /System/Library/Sounds/Hero.aiff

tar cfCtar xfC の使い方を知ってるか知らないかで結構違うなぁ、と感じた。