ふぁメモ

主に技術系のメモをしたいけどやっぱり適当日記。たまにPHPコード載ってるけどメモ書き程度のスクリプトなのでそのまま使っちゃダメ。

備忘録:bashでログファイルを一括gzip

ChatGPTに訊いてみただけ

リクエスト

hogehoge202505.log
hogehoge202506.log
hogehoge202507.log
hogehoge202508.log
hogehoge202509.log
hogehoge202510.log
hogehoge202511.log
hogehoge202512.log

202505~202511までそれぞれ個別にgzipにしたい(202512は残す)

hogehoge202505.log.gz
hogehoge202506.log.gz
hogehoge202507.log.gz
hogehoge202508.log.gz
hogehoge202509.log.gz
hogehoge202510.log.gz
hogehoge202511.log.gz
hogehoge202512.log

まとめて指定できるワンライナーを教えて(bash)

ChatGPT-5.2の回答

bash なら ブレース展開で一発です 👍

gzip hogehoge{202505..202511}.log

これで実行結果は以下になります:

hogehoge202505.log.gz
hogehoge202506.log.gz
hogehoge202507.log.gz
hogehoge202508.log.gz
hogehoge202509.log.gz
hogehoge202510.log.gz
hogehoge202511.log.gz

hogehoge202512.log は指定していないので、そのまま残ります。

補足(よく使うオプション) 元の .log を残したい場合

gzip -k hogehoge{202505..202511}.log

圧縮レベルを指定したい場合(例:最大圧縮)

gzip -9 hogehoge{202505..202511}.log

展開確認だけしたい場合(デバッグ

echo hogehoge{202505..202511}.log

logrotate 代替や月次バッチなら、この書き方が一番シンプルで安全です。

プライバシーポリシー |ページトップへ