Re: 問題ID:22553について

この質問の投稿一覧へ

なし Re: 問題ID:22553について

msg# 1.1
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-8-26 12:51 | 最終変更
arashi1977  長老 居住地: 広島  投稿数: 1715
引用:
解説文の「大文字アルファベット以外の文字(小文字アルファベットなど)を含む行を表示しますので、誤りです。」という記述がいまいちピンとこずにいます。
ちょっと実行例を確認してみましょう。設問の通りのファイルを用意しました。
$ cat test.txt
NAME
grep, egrep, fgrep - print lines matching a pattern
SYNOPSIS
grep [options] PATTERN [FILE...]
grep [options] [-e PATTERN | -f FILE] [FILE...]
おっしゃってる '[^A-Z]' で検索すると以下の結果になります。大文字のみの行がなくなっています。
より正しく言うと「大文字以外の文字にマッチする=大文字のみの行にはマッチしない」ということです。
$ grep '[^A-Z]' test.txt
grep, egrep, fgrep - print lines matching a pattern
grep [options] PATTERN [FILE...] ←大文字が含まれている
grep [options] [-e PATTERN | -f FILE] [FILE...] ←大文字が含まれている
こっちが正答のもので、大文字アルファベットを含む行がなくなっています。
-vオプションによって「大文字がマッチしたものを除く」ということですね。
$ grep -v '[A-Z]' test.txt
grep, egrep, fgrep - print lines matching a pattern ←大文字が一つも含まれていない
というのでどうでしょうか?

投稿ツリー

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.