未だにcompctl。
LGとか新興メーカのDVDドライブだとブリーバージョンのdvdrecordでは 焼けない。dvd+rw-tools のgrowisofsなら行けた。今まで落ちていた使用頻度が また上がって来た。で、compctl。
compctl -x \ 'C[-2,-[MZ]]' -f - \ 's[-speed=]' -k '(4 8 16 32)' - \ 'C[-1,-[MZ]] n[1,=]' -f - \ 'C[-1,-[MZ]] r[-dvd-compat]' -k \ '(/dev/rcd0d /dev/rcd1d /dev/acd0)' -S '=' - \ 'C[-1,-[MZ]]' -k '(/dev/rcd0d /dev/rcd1d /dev/acd0)' -S ' ' + -f - \ 'S[-s]' -k '(-speed)' -S '=' - \ 's[-]' -k '(dry-run dvd-compat overburn speed Z M)' -- growisofs
-x の後からをいちおう説明、
'C[-2,-[MZ]]' -f
2つ前の引数が -M か -Z ならファイル名補完
's[-speed=]' -k '(4 8 16 32)'
既に -speed=
まであった場合 4、8、16、32 の
どれかを補完。倍率は適当。だってどうせ最大速度に合わせてくれるから。
'C[-1,-[MZ]] n[1,=]' -f
一個前の引数が -M か -Z で、かつ現在入力中の引数 に=が含まれたら1個目の=直後の部分だけでファイル名補完に。
'C[-1,-[MZ]] r[-dvd-compat]' -k 〜 -S ' ' + -f
一個前の引数が -M か -Z で、かつ現在位置より前の引数のどこかに
-dvd-compat
という文字列がある場合は
/dev/rcd0d /dev/rcd1d /dev/acd0
のどれかで補完して
補完した単語の直後に = を追加する。
デバイス名補完がマッチしなければ普通のファイル名で補完。
'C[-1,-[MZ]]' -k 〜 -S ' ' + -f
大体上と同様。ただし補完した単語の直後に スペース1個 を追加する。
'S[-s]' -k '(-speed)' -S '='
現在入力中の引数が -s
だったら、びろーんと
-speed
を補って、直後に = を追加する。
's[-]' -k '(dry-run dvd-compat overburn speed Z M)'
現在入力中の引数が -
だったら、
dry-run dvd-compat overburn speed Z M
のどれかで
補完。
叱咤激励感想ツッコミはゲストブックへ
Generated with mkdiary.rb