パラメータ展開

文字列の先頭(末尾)を取り出す

var="2008-07-01.jpg"
echo ${var%.jpg}
echo ${var#2008-}

2008-07-01
07-01.jpg

split

path=/var/spool/mail/
while [ $path ]; do
   echo ${path%%/*} # ループ1回目:"/var/spool/mail/"が取り除かれて、""がエコーされる 
                    #       2回目:"/spool/mail/"が取り除かれて、"var"がエコーされる
   path=${path#*/}  # ループ1回目:"/"が取り除かれて、pathは"var/spool/mail/"になる
                    #       2回目:"var/"が取り除かれて、pathは"spool/mail/"になる
done

拡張子一括変換

.htmから.htmlへ

for i in *.htm; do mv $i ${i%.htm}.html; done

http://www.atmarkit.co.jp/flinux/rensai/theory08/theory08a.html

拡張子を抜き出す(ドットを含まない)

パラメータの文字列の左側からパターンにマッチする部分を取り除く。

for i in *; do echo ${i##*.}; done
  • ## 最長一致
  • # 最短一致

FQDNからホスト名を抜き出す

_HOSTNAME=$(hostname)
_HOSTNAME=${_HOSTNAME%%.*}

FQDNがfoo.bar.comの場合、fooを取得する。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2017-07-23 (日) 11:24:20 (336d)