簡體   English   中英

在外殼變量中具有通配符的grep

[英]grep with wild card character in shell variable

我必須按以下方式在ksh腳本中使用grep命令。 我有一個shell變量$string ,每次它都會有隨機的string參數,我想使用正則表達式“ *”來部分匹配它

我努力了:

  1. grep "$string" file.txt =>不部分獲取
  2. grep "$string*" file.txt =>在字符串末尾給出結果0次或多次
  3. 現在我想使用grep "*$string*" file.txt ..我逃脫了它"\\*$string*""*\\$string*"對我沒有幫助?

如何使用grep "*$string*" file.txt 或其他命令?

我輸入了$string="AAA" ,輸出應該匹配

  1. AAA
  2. <any number of characters>AAA<any number of characters>

如果在任何地方都找到AAA那么它應該匹配..一般而言,grep會做到這一點,但是在這里不能獲取。

盡管您的問題不清楚,但是我懷疑您正在尋找-F標志來固定字符串。 這樣可以確保沒有正則表達式元字符。

要搜索字符串,最好使用fgrep或等效的grep -F

-F,--fixed-strings將PATTERN解釋為固定字符串的列表,由換行符分隔,其中任何一個都將被匹配。

以下示例應匹配文件中所有出現的“ $ string”。

fgrep "$string" file.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM