文字列のgrep

[grep] 実行して理解 grepコマンドで条件分岐

created:2025/10/06 updated:2025/10/31

前書き

このリポジトリは、grepコマンドを実行して対象ファイルに検索文字列に該当する部分があるかどうかで条件分岐するプログラムを体感できます

インストールする必要のあるコマンド

  1. git

クイックスタート

上記のコマンドをインストール済みの方は、以下のコマンドを実行してリポジトリからダウンロード後、ディレクトリを移動し、シェルスクリプトを実行して条件分岐を体感できます

ubuntu

git clone https://github.com/trygfmi/grep_if
cd grep_if
cat start_grep_if.sh
./start_grep_if.sh hello
./start_grep_if.sh aaa
出力結果
true:hello grep if
false:not found

macos

MacPorts

source ~/bashrc_folder/macports_alias
git clone https://github.com/trygfmi/grep_if
cd grep_if
cat start_grep_if.sh
./start_grep_if.sh hello
./start_grep_if.sh aaa
出力結果
true:hello grep if
false:not found

windows

WSL2

git clone https://github.com/trygfmi/grep_if
cd grep_if
cat start_grep_if.sh
./start_grep_if.sh hello
./start_grep_if.sh aaa
出力結果
true:hello grep if
false:not found

MSYS2 MINGW64

git clone https://github.com/trygfmi/grep_if
cd grep_if
cat start_grep_if.sh
./start_grep_if.sh hello
./start_grep_if.sh aaa
出力結果
true:hello grep if
false:not found

実行手順

ubuntu

クリックして詳細を開く

事前確認

以下のコマンドを端末に打ち込んでcommand not foundが出なければokです

git --version

preinstall

端末でcommand not foundが出たコマンドを以下のコマンドでインストールしてください

sudo apt install git

コマンド

以下のコマンドを実行することで詳細のようなtrueとfalseの場合の出力が得られるはずです

git clone https://github.com/trygfmi/grep_if
cd grep_if
cat start_grep_if.sh
./start_grep_if.sh hello
./start_grep_if.sh aaa
詳細
true:hello grep if
false:not found

macos

クリックして詳細を開く

事前確認

以下のコマンドをターミナルに打ち込んでcommand not foundが出なければokです

source ~/bashrc_folder/macports_alias
git --version

※macosはMacPortsパッケージマネージャを使用してコマンドを管理します。もしインストールしていない方は以下のリンクからMacPortsのインストール手順をご覧ください

またコマンドに別名を設定して既存の環境と競合しないでコマンドを呼び出せるようにします。

初めてこのブログを利用する方は、以下の2つの記事を参考に環境構築してください

preinstall

ターミナルでcommand not foundが出たコマンドを以下のコマンドでインストールしてエイリアスを設定してください

sudo port install git
echo 'alias git="/opt/local/bin/git"' >> ~/bashrc_folder/macports_alias

コマンド

以下のコマンドを実行することで詳細のようなtrueとfalseの場合の出力が得られるはずです

source ~/bashrc_folder/macports_alias
git clone https://github.com/trygfmi/grep_if
cd grep_if
cat start_grep_if.sh
./start_grep_if.sh hello
./start_grep_if.sh aaa
詳細
true:hello grep if
false:not found

windows

クリックして詳細を開く

事前確認

以下のコマンドをプロンプトに打ち込んでcommand not foundが出なければokです

WSL2
git --version
MSYS2 MINGW64
git --version

※windowsはWSL2とMSYS2 MINGW64で確認しています。可能な限りWSL2をインストールしていただいて、もし設定できなかった場合はMSYS2をインストールすることで実行できますが、所々WSL2でしか実行できないコマンドが出てくるかもしれません。WSL2とMSYS2のインストール方法は下記の記事を参考にしてください

preinstall

プロンプトでcommand not foundが出たコマンドを以下のコマンドでインストールしてください

WSL2
sudo apt install git
MSYS2 MINGW64
pacman --sync git

コマンド

以下のコマンドを実行することで詳細のようなtrueとfalseの場合の出力が得られるはずです

WSL2
git clone https://github.com/trygfmi/grep_if
cd grep_if
cat start_grep_if.sh
./start_grep_if.sh hello
./start_grep_if.sh aaa
詳細
true:hello grep if
false:not found
MSYS2 MINGW64
git clone https://github.com/trygfmi/grep_if
cd grep_if
cat start_grep_if.sh
./start_grep_if.sh hello
./start_grep_if.sh aaa
詳細
true:hello grep if
false:not found

後書き

-qオプションで終了ステータスを出力して、その結果に応じて条件分岐する仕組みになっています