[シェル芸]Twitterでのお題を勝手にやってみた
Twitterのタイムラインを眺めていたらこんなお悩みの方がいらっしゃいました。
今いるディレクトリの下の下の階層にあるファイル名に"_thumb"を含まない画像を削除するシェル芸ありませんか?"下の階層"も"下の下の階層"も複数ずつありましてな・・・。
— kentaro yanagida (@yng13) May 28, 2014
というわけで、シェル芸でやってみることに。フォルダ構成はこんな感じにしました。
[nullpopopo@u24e tmp]$ find $(pwd) -type f | sort -n /home/nullpopopo/tmp/1/1/wordpress.jpg /home/nullpopopo/tmp/1/2/wordpress.jpg /home/nullpopopo/tmp/1/3/wordpress_thumb.jpg /home/nullpopopo/tmp/1/4/wordpress.jpg /home/nullpopopo/tmp/1/5/wordpress.jpg /home/nullpopopo/tmp/1/wordpress.jpg /home/nullpopopo/tmp/2/1/wordpress.jpg /home/nullpopopo/tmp/2/2/wordpress.jpg /home/nullpopopo/tmp/2/3/wordpress_thumb.jpg /home/nullpopopo/tmp/2/4/wordpress.jpg /home/nullpopopo/tmp/2/5/wordpress.jpg /home/nullpopopo/tmp/2/wordpress.jpg /home/nullpopopo/tmp/3/1/wordpress.jpg /home/nullpopopo/tmp/3/2/wordpress.jpg /home/nullpopopo/tmp/3/3/wordpress_thumb.jpg /home/nullpopopo/tmp/3/4/wordpress.jpg /home/nullpopopo/tmp/3/5/wordpress.jpg /home/nullpopopo/tmp/3/wordpress_thumb.jpg /home/nullpopopo/tmp/4/1/wordpress.jpg /home/nullpopopo/tmp/4/2/wordpress.jpg /home/nullpopopo/tmp/4/3/wordpress_thumb.jpg /home/nullpopopo/tmp/4/4/wordpress.jpg /home/nullpopopo/tmp/4/5/wordpress.jpg /home/nullpopopo/tmp/4/wordpress.jpg /home/nullpopopo/tmp/5/1/wordpress.jpg /home/nullpopopo/tmp/5/2/wordpress.jpg /home/nullpopopo/tmp/5/3/wordpress_thumb.jpg /home/nullpopopo/tmp/5/4/wordpress.jpg /home/nullpopopo/tmp/5/5/wordpress.jpg /home/nullpopopo/tmp/5/wordpress.jpg
一撃で消すなら以下のワンライナーで。
[nullpopopo@u24e tmp]$ find $(pwd) -name '*.[jJpPgG][pPnNiI][gGfF]' | egrep -v '(_thumb)' | xargs rm -f
それでは確認してみましょう。
[nullpopopo@u24e tmp]$ find $(pwd) -name '*.[jJpPgG][pPnNiI][gGfF]' /home/nullpopopo/tmp/1/3/wordpress_thumb.jpg /home/nullpopopo/tmp/5/3/wordpress_thumb.jpg /home/nullpopopo/tmp/2/3/wordpress_thumb.jpg /home/nullpopopo/tmp/4/3/wordpress_thumb.jpg /home/nullpopopo/tmp/3/wordpress_thumb.jpg /home/nullpopopo/tmp/3/3/wordpress_thumb.jpg
現場からは以上です。
※ 2014/05/29 14:45追記
@nullpopopo 出社してやっと試してみました。結果一撃ワンライナー成功でした!!どうもありがとうございます!
$ df
ファイルシス 1K-blocks 使用 使用可 使用%
/dev/xvda1 8256952 1968372 6204724 25%— kentaro yanagida (@yng13) May 29, 2014
[amazonjs asin=”4904807073″ locale=”JP” title=”USP MAGAZINE vol.13″]