多くの場合、コンマを使用してさまざまな種類のアーカイブファイルを抽出する必要があります。しかし、あらゆるタイプのファイルアーカイブの正確なコマンドを常に覚えているわけではありません。だから、時間を無駄にしてもう一度検索する必要があります。どうすればこれを回避できますか?
次のシェルスクリプトを使用できます(extract
という名前を付けて、~/bin
に配置します)。
#!/ bin/bash if [$#-lt 1]; then echo "Usage:` basename $ 0` FILES " exit 1 fi # https://unix.stackexchange.com/a/168/37944 で次の関数を見つけました # 少し改善しました。このアイデアを sydo に感謝します。 extract(){ $ @の引数。 do if [-f $ arg]; then case $ arg in * .tar.bz2)tar xjf $ arg ;; * .tar.gz)tar xzf $ arg ;; * .bz2)bunzip2 $ arg ;; * .gz)gunzip $ arg ;; * .tar)tar xf $ arg ;; * .tbz2)tar xjf $ arg ;; * .tgz)tar xzf $ arg ;; * .Zip)unzip $ arg ;; * .Z)uncompress $ arg ;; * .rar)rar x $ arg ;; #「rar」をインストールする必要があります * .jar)jar -xvf $ arg ;; # 'jdk'をインストールする必要があります *)echo "'$ arg'はextract()で抽出できません" ;; esac else echo " 「$ arg」は有効なファイルではありません」 fi done } extract $ @
スクリプトを実行可能にすることを忘れないでください:
chmod +x ~/bin/extract
使用法:
エキス file_1 file_2 ... file_n
dtrx
コマンドはあなたの友人です。
そのタイプを推測することにより、アーカイブファイルを解凍します。また、解凍したファイルが新しいディレクトリに配置されることを確認します。現在の作業ディレクトリを大量のファイルで混乱させないようにします。
Sudo aptitude install dtrx
dtrx stuff.Zip