#!/bin/bash arr=(foo bar hoge) for a in ${arr[@]} do echo $a done
配列宣言は、()で囲んで、スペース区切り。
@を使うと、配列を展開しつつ、for..inで回してくれる。
Via!
http://reiki4040.hatenablog.com/entry/20110208/1297171057
#!/bin/bash arr=(foo bar hoge) for a in ${arr[@]} do echo $a done
配列宣言は、()で囲んで、スペース区切り。
@を使うと、配列を展開しつつ、for..inで回してくれる。
Via!
http://reiki4040.hatenablog.com/entry/20110208/1297171057
例えば、任意のディレクトリにあるpngファイルを2桁の連番ファイルにリネームする方法
$ a=0;for i in *.png ;do let a="${a}+1";s=$(printf "%02d.png" $a);echo $s;cp $i $s;done
lsの表示結果の文字列から、引数を生成したい場合に便利。
例えば、ディレクトリ名から、tar.gzに固めたい場合など
$ ls | xargs -I{} tar -czvf {}.tar.gz {}
xargsのオプション-Iを使って、置換する文字を指定する。例では、{}を置換する指定をしている。
久々に、bashの設定をいじってみる