Bash MEMO

Bash の備忘録


for で繰り返しを行う

実行例

for x in *.txt; do echo $x; done

ファイル名をいじる(拡張子の変更など)

説明

       Given:
            foo=/tmp/my.dir/filename.tar.gz 

      We can use these expressions:

      path = ${foo%/*}
          To get: /tmp/my.dir (like dirname)
      file = ${foo##*/}
          To get: filename.tar.gz (like basename)
      base = ${file%%.*}
          To get: filename 
      ext = ${file#*.}
          To get: tar.gz 

応用例: 拡張子を変えて表示

for x in *txt;do echo ${x%%.*}.doc;done

探すには

Bash string manipulation filename で検索