この記事は約3分11秒で読むことができます。

bashの変数展開を使用したリネーム

変更前

コード表示

[oracle@centos pp]$ find $(pwd) -name "*inter*"
/home/oracle/pp/util/interface.sh
/home/oracle/pp/cmd/interface.sh
/home/oracle/pp/exec/interface.sh
/home/oracle/pp/ref/interface.sh

変更

コード表示

[oracle@centos pp]$ find $(pwd) -name "*inter*" | xargs -I@ bash -c 'tmp=@;f=${tmp##*/};d=${tmp%/*};echo mv ${d}/${f} ${d}/if.sh '
mv /home/oracle/pp/util/interface.sh /home/oracle/pp/util/if.sh
mv /home/oracle/pp/cmd/interface.sh /home/oracle/pp/cmd/if.sh
mv /home/oracle/pp/exec/interface.sh /home/oracle/pp/exec/if.sh
mv /home/oracle/pp/ref/interface.sh /home/oracle/pp/ref/if.sh
[oracle@centos pp]$ find $(pwd) -name "*inter*" | xargs -I@ bash -c 'tmp=@;f=${tmp##*/};d=${tmp%/*};mv ${d}/${f} ${d}/if.sh '

変更後

コード表示

[oracle@centos pp]$ find $(pwd) -name "*inter*"
[oracle@centos pp]$ find $(pwd) -name "*if*"
/home/oracle/pp/util/if.sh
/home/oracle/pp/cmd/if.sh
/home/oracle/pp/exec/if.sh
/home/oracle/pp/ref/if.sh

Leave a Reply

Your email address will not be published. Required fields are marked *