13,002
回編集
336行目: | 336行目: | ||
do | do | ||
\ls -AdhlF --color "${OBJECT}" | \ls -AdhlF --color "${OBJECT}" | ||
done | |||
# カレントディレクトリに戻る | |||
cd "${CURRENTDIR}" | |||
echo "" | |||
IFS=$IFS_BACKUP | |||
# 上記で定義しているchpwd関数を有効化する | |||
enable -f chpwd | |||
unset -v OBJECT | |||
else | |||
echo "Specify Arguments." 1>&2 | |||
fi | |||
return 0 | |||
} | |||
# パターンにマッチするファイル内容を検索する | |||
function filegrep() | |||
{ | |||
if [ "$#" -eq 2 ]; then | |||
local IFS_BACKUP=$IFS | |||
IFS=$'' | |||
for OBJECT in $(\find . -type f -name "${1}" -print0 | \xargs -0 \grep -inE "${2}") | |||
do | |||
echo "${OBJECT}" | |||
done | |||
echo "" | |||
IFS=$IFS_BACKUP | |||
elif [ "$#" -eq 3 ]; then | |||
# 第1引数で指定したディレクトリが存在するか確認する | |||
if [ ! -d "$1" ]; then | |||
echo "Not Exist Directory $1" 1>&2 | |||
return 1 | |||
fi | |||
local IFS_BACKUP=$IFS | |||
IFS=$'' | |||
# 上記で定義しているchpwd関数を無効化する | |||
disable -f chpwd | |||
# 現在のカレントディレクトリを一時的に保存する | |||
local CURRENTDIR=$(\pwd) | |||
# 第1引数で指定したディレクトリに移動する | |||
cd "${1}"; | |||
# 第2引数で指定したパターンを使用して検索する | |||
for OBJECT in $(\find . -type f -name "${2}" -print0 | \xargs -0 \grep -inE "${3}") | |||
do | |||
echo "${OBJECT}" | |||
done | done | ||