2013年2月9日土曜日

[ShellScript]ファイル名の一部を変更する

#!/bin/bash
# ファイル名の一部を変更してコピーする

while [ "$1" != "" ]
do
    # cut コマンド
    # -f1: 1 番目のフィールドを切り出す
    # -d: フィールドの区切りを指定
    name=`echo $1 | cut -f1 -d'.'`
    extension=`echo $1 | cut -f2 -d'.'`
    echo $1 , $name , $extension
    newName=${name}_modify.${extension}
    echo "->" $newName
    cp $1 $newName
    shift # 引数をシフト $2 が $1 へ代入される
done
実行結果
$ ls src/
test01.txt test02.txt test03.txt
$ ./modifyFileName.sh src/*
src/test01.txt , src/test01 , txt
-> src/test01_modify.txt
src/test02.txt , src/test02 , txt
-> src/test02_modify.txt
src/test03.txt , src/test03 , txt
-> src/test03_modify.txt
$ ls src/
test01.txt test02.txt test03.txt
test01_modify.txt test02_modify.txt test03_modify.txt

0 件のコメント:

コメントを投稿