首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >grep命令不接受脚本中包含多个选项的字符串

grep命令不接受脚本中包含多个选项的字符串
EN

Stack Overflow用户
提问于 2020-02-07 21:25:48
回答 1查看 318关注 0票数 1

我正在编写一个shell脚本(Bash),它接受多个参数,并对每个参数使用grep命令。示例: "./script.sh name1 name2 file.txt“命令grep将两次被称为"grep name1 file.txt”和"grep name2 file.txt“。

问题是当我提供多个选项(例如“-color -n")时,我将它们连接到一个字符串中,并将它们传递给grep,如下所示:

代码语言:javascript
运行
复制
grep "$allParameters" "${arguments[counter]}" "$file" 

allParameters:是我在所有选项中连接的字符串“-color -n”

Arguments计数器:是否我必须在例如"echo“上使用grep的当前参数

文件:是我要搜索的文件吗?

输出是: grep:未识别选项‘--颜色-n’用法: grep选项.模式文件..。

注意:对于一个选项,它可以正常工作。

我还得再把绳子分开吗?如果是,如何将它们放在一行中使用grep命令?甚至有可能这样做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-07 21:36:44

不要将多个选项/标志双引号作为一个选项。当您引用字符串时,grep将将其视为单个字符串。

例如:

有效:

代码语言:javascript
运行
复制
grep -ins --color=auto "foo" inputfile

有效:

代码语言:javascript
运行
复制
 grep "-ins" "--color=auto" "foo" inputfile

无效:

代码语言:javascript
运行
复制
 grep "-ins --color=auto" "foo" inputfile

因为没有像"-ins --color=auto"这样的单一选项

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60121286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档