grep基礎

grep の基本文法を使って基礎問題をやっていきましょう!

まずは List を見ながら問題を解いていき、ある程度覚えたら Flash Card にチャレンジしてください!

各問には制限時間があり、時間内に答えを出してください。エディタを用意して実際に書いてみると記憶に残りやすいのでおすすめです!

問題文中の data.txt は以下として考えてください


apple

banana



orange

pineapple



apple banana

orange pineapple

apple orange



banana pineapple

orange apple

List Content

ファイル data.txt から文字列 apple を含む行をすべて表示するコマンドを書いてください。

grep "apple" data.txt

ファイル data.txt から文字列 banana を含む行を除外して表示するコマンドを書いてください。

grep -v "banana" data.txt

ファイル data.txt から文字列 orange が含まれる行の行数を表示するコマンドを書いてください。

grep -c "orange" data.txt

ファイル data.txt から大文字と小文字を区別せずに文字列 Pineapple が含まれる行を表示するコマンドを書いてください。

grep -i "Pineapple" data.txt

ファイル data.txt の中で apple または orange を含む行を表示するコマンドを書いてください。

grep "apple\|orange" data.txt

ファイル data.txt の中で apple と orange を含む行を表示するコマンドを書いてください。

grep "apple.*orange\|orange.*apple" data.txt

ファイル data.txt から行番号を含めて文字列 banana を含む行を表示するコマンドを書いてください。

grep -n "banana" data.txt

ファイル data.txt の中で単語として apple を含む行を表示するコマンドを書いてください。

grep -w "apple" data.txt

ファイル data.txt から空行を含む行を表示するコマンドを書いてください。

grep "^$" data.txt

ディレクトリ documents 内のすべてのファイルから文字列 important を含む行を表示するコマンドを書いてください。

grep "important" documents/\*

ディレクトリ documents 内のすべてのファイルから文字列 TODO を含む行を表示し、行番号も表示するコマンドを書いてください。

grep -n "TODO" documents/\*

ディレクトリ logs 内のファイルのうち、拡張子が .log であり、文字列 ERROR を含む行を表示するコマンドを書いてください。

grep "ERROR" logs/\*.log

ディレクトリ documents 内のファイルのうち、文字列 apple を含む行を表示し、その行の前後 5 行も一緒に表示するコマンドを書いてください。

grep -C 5 "apple" documents/\*

ディレクトリ data 内のファイルのうち、文字列 apple を含まない行を表示するコマンドを書いてください。

grep -v "apple" data/\*

ディレクトリ documents 内のファイルから文字列 important を含む行のみを抽出し、新しいファイル important.txt に保存するコマンドを書いてください。

grep "important" documents/\* > important.txt