📢 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
  }
  }