問題ID: 22351

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2016-8-8 15:04
meponne  新米   投稿数: 1
「test.txt」ファイルから、「.*」という文字列を含む行を抽出したい。適切なコマンドは次のうちどれか。(全て選択)

○ grep -F '.*' test.txt
grep '.*' test.txt
○ grep '\.\*' test.txt
egrep '.*' test.txt
○ fgrep '.*' test.txt

これの'.*'をシングルクオーテーションで囲っている意味が分かりません。囲ったらただの文字列になって正規表現は出ないんじゃないんですか

解説の
正規表現は明示的に「'」(シングルクォーテーション)や「"」(ダブルクォーテーション)の引用符で囲う事ができます。これらの引用符で囲まれた正規表現の記号は、シェルにメタキャラクタとして扱われなくなります。

が理解不能です
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016-8-8 15:14
arashi1977  長老 居住地: 広島  投稿数: 1715
設問にある通り
引用:
「.*」という文字列を含む行を抽出したい
のですから、meponne さんのご認識の通り
引用:
囲ったらただの文字列になって
くれることを期待しているんですよね。

引用:
解説の
正規表現は明示的に「'」(シングルクォーテーション)や「"」(ダブルクォーテーション)の引用符で囲う事ができます。これらの引用符で囲まれた正規表現の記号は、シェルにメタキャラクタとして扱われなくなります。

が理解不能です
過去に同じような質問(理解不能)があったのですが、その一連のやり取りを見てみていただけますか?
http://ping-t.com/modules/forum/index.php?topic_id=2618
http://ping-t.com/modules/forum/index.php?topic_id=1774

その上で不明な点があれば更に掘り下げたいと思います

  >フォーラム検索へ


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