通常grepはマッチした行を出力するけど,マッチ部分だけを取りたいっていうのはよくある話.
そういう時は-oオプションを付ければOK.
$ ifconfig | grep -o -e "[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]" $ ifconfig | egrep -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]"
基本正規表現で扱うので,grepというようりはegrep用機能といえそう.
通常grepはマッチした行を出力するけど,マッチ部分だけを取りたいっていうのはよくある話.
そういう時は-oオプションを付ければOK.
$ ifconfig | grep -o -e "[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]" $ ifconfig | egrep -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]"
基本正規表現で扱うので,grepというようりはegrep用機能といえそう.
先日作業環境のlocaleを,jaJP.EUC-JPからjaJP.UTF-8へ変更したため,日本語ファイル名の一括変換を行った.
$ convmv -f euc-jp -t utf8 -r . --notest
で,カレントディレクトリ以下のファイルについて,一括で変換が可能.
–notestオプションを外すと,変更されるファイルの一覧が表示するだけで変換処理は行わないので,重要なファイルがある時には先にそっちで確認を取った方がよさげ.
画像の一括変換のついでに,ファイル名の一括変換も調べたら,renameコマンドを使えということだった.
例えば,foo01.png, foo02.png…をFOO01.png, FOO02.png…にしたい場合,
$ rename "s/foo_/FOO_/" foo_*.png
とかでいいみたい.正規表現が使えるのは便利.
しかし何で今までこんな単純なのも知らなかったんだろう?
mogrifyを使う.
例えば,bmpのファイルをpngに変えたい場合はformatオプションを使えばOK.
$ mogrify -format png *bmp
他にも回転(-rotate)やらリサイズ(-resize)やらImageMagicの機能なら何でも出来る万能さがすごい.
使いこなすのは難しいけど,簡単な編集が一括で出来るのは便利.
自由文字列のオプションを渡してコマンドを起動したい時とかに,コンソール(shell)上で改行・タブコードを入力したくなったばあいの対処方法.
改行: ctrl-v ctrl-j
タブ:ctrl-v ctrl-i
関連情報:emacsの場合