Shell script」カテゴリーアーカイブ

Linuxで使えるシェルスクリプトに関するカテゴリーです。

ImageMagickのconvertコマンドでサムネイル画像を作成

ImageMagickのconvertコマンドを使って画像をresize & cropする方法を調べてみました。

オリジナルの画像(src.jpg)

アスペクトを維持して画像全体が含まれるようにリサイズ

$ convert -resize 200x200 -gravity Center -extent 200x200 src.jpg dst.jpg

CSSのbackground-size:containのような感じです。-gravity Centerはリサイズ後の配置に影響します。NorthWest/North/NorthEast/West/Center/East/SouthWest/South/SouthEastが使えます。

アスペクトを無視してリサイズ

$ convert -resize 200x200! -extent 200x200 src.jpg dst.jpg

アスペクトを維持して余白がないようにリサイズ

$ convert -resize 200x200^ -gravity Center -extent 200x200 src.jpg dst.jpg

CSSのbackground-size:coverのような感じです。切り取る部分を変更したい場合は-gravity Centerの部分を変更してみてください。

Windows環境で200x200^がうまく動作しない場合は200x200^^を試してみるとうまく動作する場合もあるみたいです。

grepでTabを検索する方法

grepでTabを検索したい場合はPCREを使うと良いそうです。

$ grep -P "\t" *

他にもいろいろな方法があるみたいですが、Bashを使っている場合は$'string'を使うのも便利かなと思います。

$ grep $'\t' *

リンク

PCRE – Perl Compatible Regular Expressions
http://www.pcre.org/

Bash Reference Manual
https://www.gnu.org/software/bash/manual/bashref.html