grepコマンドの検索文字列に「*(アスタリスク)」を使用したらうまくいかない

【問題点】
#cat filelist.tmp
AppServer1_aabb.txt
AppServer1_201712051127.txt
AppServer1_ab1045.txt
 
上記のようなファイル名がリストされたtmpファイルで、grepコマンドで対象を引っ掛けようと思い、以下のようなコマンドを実行したが1つもヒットしなかった。
grep AppServer1_*.txt  filelist.tmp
 
 
【解決法】
そもそもgrepコマンドにおける*の意味を勘違いしていた。grepコマンドの*の意味は「直前の1文字の0回以上の繰り返し」であり、長さ0文字以上の文字列ではない。
 
grepコマンドで長さ0文字以上の文字列を表現したいなら「.*」とすればよい。

スポンサーリンク
勉強wikiの下部広告
  • このエントリーをはてなブックマークに追加
スポンサーリンク
勉強wikiの下部広告

コメントをどうぞ

メールアドレスが公開されることはありません。

CAPTCHA