📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 542行目: | 542行目: | ||
echo "Too many arguments!" | echo "Too many arguments!" | ||
fi | fi | ||
} | |||
# パターンにマッチするファイル内容を検索する | |||
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=$'' | |||
# 現在のカレントディレクトリを一時的に保存する | |||
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 | |||
# カレントディレクトリに戻る | |||
cd "${CURRENTDIR}" | |||
echo "" | |||
IFS=$IFS_BACKUP | |||
unset -v OBJECT | |||
else | |||
echo "Specify Arguments." 1>&2 | |||
fi | |||
return 0 | |||
} | } | ||