はじめに
Linuxのエディタ(vim,emacs)などでは、デフォルトの設定だとファイルを開いたときに、バックアップ用として末尾に~(チルダ)がついたファイルが自動的に作成されます。
diffコマンド実行時に、チルダファイルが差分として出てしまい不便だったので、差分とならないように当該フォルダでチルダファイルを再帰的に削除するスクリプトを作成しました。
実行環境
- OS: CentOS 7.0
免責事項
スクリプトの実行は自己責任でお願いします。
このスクリプトを使って何らかの損害が発生しても、作者は責任を負いません。
スクリプト
rec_clean.sh
#!/bin/sh
function sub_func {
\rm -f ${1}/*~
}
function rec {
sub_func ${1}
for FNAME in `ls ${1}`
do
local FPATH=${1}/${FNAME}
if [ -d ${FPATH} ]; then
rec ${FPATH}
fi
done
}
# main
rec `pwd`
使い方
実行したいディレクトリへ移動し、スクリプトを実行する。
$ cd 実行したいディレクトリ
$ ./rec_clean.sh
拡張案
sub_funcに対象コマンドを追加すれば、合わせて削除できます。
例えば、末尾に.bakが付いたファイルはsub_funcへ下記のコマンドを追加すれば実現できます。
\rm -f ${1}/*.bak