1. 学ぶ
  2. /
  3. コース
  4. /
  5. Shell 入門

Connected

演習

特定の値を含む行をどのように抽出できますか?

head と tail は行(行頭・行末)を選び、 cut は列を選び、 grep は行の内容に基づいて行を選びます。 いちばん基本的な使い方では、 grep は検索したいテキストに続けて1つ以上のファイル名を受け取り、 そのテキストを含む行をすべて表示します。 たとえば、 grep bicuspid seasonal/winter.csv は、"bicuspid" を含む winter.csv の行を表示します。

grep はパターン検索もできますが、 それは次のコースで扱います。 今大事なのは、grep のよく使うフラグです。

  • -c: 行そのものではなく、一致した行数を表示します
  • -h: 複数ファイルを検索するときに、ファイル名を表示しません
  • -i: 大文字小文字を無視します(例: "Regression" と "regression" を一致とみなす)
  • -l: 一致を含むファイル名のみを表示し、一致した行は表示しません
  • -n: 一致した行の行番号を表示します
  • -v: 一致を反転します。つまり、一致「しない」行だけを表示します

指示1 / 3

undefined XP
  • 1

    ホームディレクトリにいる状態で、seasonal/autumn.csv の中で単語 molar を含むすべての行の内容を、1つのコマンドで表示してください。フラグは使わないでください。

  • 2

    一致を反転して、seasonal/spring.csv の中で単語 molar を含まない行をすべて見つけ、その行番号を表示してください。 なお、検索語「molar」やファイル名などの値よりも、フラグを先に書くのがよい書き方とされています。

  • 3

    autumn.csv と winter.csv を合わせて、単語 incisor を含む行がいくつあるか数えてください。 (こちらも、ホームディレクトリから1つのコマンドで実行してください。)