指定されたパターンに従う特定のファイルだけを解凍するには?

指定されたパターンに従う特定のファイルだけを解凍するには?

バッシュを使用してください。

次のファイルを含むディレクトリDがあるとします。

20170301:00.out.gz
20170301:01.out.gz
...
20170302:01.out.gz
20170302:02.out.gz

etc.

これらのファイルは、「yyyymmdd:hh」(年、月、日、時間)パターンに従います。 Bashを使ってこれらのファイルのいくつかを解凍したいのですが、まだ何をすべきかわかりません。

ファイルの場合はもちろん、「gunzip -c yyyymmdd:hh.out.gz」を使用できますが、各ファイルをハードコードするのは少し不要です。

たとえば、3月7日から3月14日までのファイルのみを抽出したい場合はどうすればよいですか?

ベストアンサー1

Bashを使用しているので、次のものを使用できます。支柱の拡張:

gunzip {20170307..20170314}*.gz

ファイルの内容のみを表示する-cには で確認してくださいgunzip

順番にファイルが失われた場合は、gunzipそのファイルについて文句を言いますが、それでもすべてのファイルを処理します。はい順番に存在します。この場合、shellオプションがsetの場合、拡張自体は失敗しますfailglobが、これはBashのデフォルトではないことにも注意する価値があります。

おすすめ記事