Linux 在grep中逃离感叹号?
我有一行完整的代码(rpm命令在下面的awk中),我想从某些文件中删除它,包括引号。当我尝试grep和grep-F时,我似乎无法获得正确的输出。我尝试从grep语句中删除部分行尾,似乎是“!”导致了问题。我试着用单引号将字符串括起来,但也没有运气。多谢各位Linux 在grep中逃离感叹号?,linux,bash,grep,Linux,Bash,Grep,我有一行完整的代码(rpm命令在下面的awk中),我想从某些文件中删除它,包括引号。当我尝试grep和grep-F时,我似乎无法获得正确的输出。我尝试从grep语句中删除部分行尾,似乎是“!”导致了问题。我试着用单引号将字符串括起来,但也没有运气。多谢各位 rpm -qVa | awk '$2!="c" {print $0}' 反斜杠就可以了 rpm -qVa | awk '\$2!="c" {print $0}' 你有几个选择 使用单引号-当您需要文字单引号时,只需从单引号中删除,添加带反
rpm -qVa | awk '$2!="c" {print $0}'
反斜杠就可以了
rpm -qVa | awk '\$2!="c" {print $0}'
你有几个选择
grep'rpm-qVa|awk'\''2美元=“c”{print$0}'\'文件名
grep$'rpm-qVA | awk\'$2=“c”{print$0}\''文件名
grep'rpm-qvA | awk.$2.=“c”{print$0}。'filename
或者,如果您有检查$2==“c”
以及$2=“c”
,您可以这样做:
grep'rpm-qvA | awk.$2[^=]=“c”{print$0}。'filename
我会选择POSIX字符串,或者简单的单引号选项,它有在其他shell中工作的优点,比如
dash
添加一个完整的grep行示例可能会有所帮助。我想象它是这样的:grep“rpm-qVa | awk'$2!=“c”{print$0}”
如果您得到“未找到事件”,请关闭Bash中的histexpand
选项。不过,IIRC单引号应该防止出现这种情况。