findコマンドの出力を使ってcmdを解凍したいと思います。

findコマンドの出力を使ってcmdを解凍したいと思います。

出力を使用する必要があります

find / -type f -printf '%T@ %p\n' | sort -k1,1nr | head -1

コマンドはシェルスクリプトの解凍コマンドです。助けてください

答え1

.zipディレクトリの下のどこかで最近変更されたファイル(ファイル名のサフィックスを含む)を抽出します。$dir zshシェルを使う:

unzip $dir/**/*.zip(.Dom[1])

(.Dom[1])末尾のglob修飾子は、前のパターンの動作を修正して通常のファイル(.)にのみ一致し、つまりディレクトリなどは一致せず、隠された名前(、のシェルオプションに似ているD)にも一致します。結果を修正時間の降順に並べ替え、最初の結果のみを選択します。逆順に並べ替えるには、小文字の代わりに大文字を使用してください。dotglobbashom[1]Oo

このパターンは、**シェルオプションが設定されている場合と同様に機能します。つまり、サブディレクトリを「再帰的に」一致させます。bashglobstar

bashこれを行うことができます。

zsh -c 'unzip $1/**/*.zip(.Dom[1])' zsh "$dir"

一部のディレクトリでは$dir

関連情報