所以我想从命令行传递 2 个字符串和文件名,并在文件中搜索这两个字符串。输入示例:script.sh file.txt AB 78
输出示例:001,AB,cse,78
(其中文件中有此行以及其他不匹配的行)
我的尝试:
`#/usr/bin/env bash`
`grep '$2.*$3\|$3.*$2' $1`
然而这不起作用。有人可以帮忙吗?
答案1
您需要将单引号更改为双引号,以允许$2
and$3
扩展到您的搜索字符串中:
#/usr/bin/env bash
grep "$2.*$3\|$3.*$2" $1
更好的解释在这里: