我必须以下列方式在ksh脚本中使用grep命令。
我有一个shell变量$string
,每次都会有随机字符串参数,我希望使用正则表达式“*”找到它的部分匹配
我试过了:
grep "$string" file.txt
=>没有部分提取grep "$string*" file.txt
=>它在字符串grep "*$string*" file.txt
..我已将其转义"\*$string*"
或"*\$string*"
对我有帮助吗?如何使用grep "*$string*" file.txt
?还是其他任何命令?
我输入了$string="AAA"
,输出应该匹配
AAA
或<any number of characters>AAA<any number of characters>
如果在任何地方找到AAA
它应该匹配..通常grep会这样做,但它不会在这里获取。
答案 0 :(得分:1)
虽然你的问题不清楚,但我怀疑你正在为固定字符串寻找-F
标志。这可以确保没有正则表达式元字符。
答案 1 :(得分:1)
要搜索字符串最好使用fgrep或等效的grep -F
-F, - 固定字符串 将PATTERN解释为固定字符串列表,由换行符分隔,其中任何一个都要匹配。
以下示例应匹配文件中出现的所有“$ string”。
fgrep "$string" file.txt