gpt4 book ai didi

linux - Grep 在反引号内寻找美元符号

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:28:46 27 4
gpt4 key购买 nike

我有这样一个文件

文件名:hello.txt

{1:ABC}{2:BCD}{3:{108:20140619-2}}{4:
:97A::Hi//12345
:97A::Hi//12345
:93B::Hello//FAMT/00000,
:16S:FIN
-}{5:{CHK:BDG6789}}{S:{ABC:}{DEF:S}{WOM:ONHGRT}}

现在基本上我正在检查是否存在 $ 符号以及 :97A: 并且我使用下面的 if 语句。

if [ `grep -c '\$' hello.txt` -gt 0 ] && [ `grep -c ":97A:" hello.txt` -gt 1 ]
then
echo "condition satisfied"
else
echo "condition not satisfied"
fi

如果我执行此 im 得到满足条件的 echo 语句。但 id 应该是相反的:(因为我正在输入 AND 条件。请帮助解决这个问题。

最佳答案

我也不明白你在问什么,但从你的代码中我得出结论,你在寻找美元符号时遇到了麻烦。我想如果你使用反引号,你也需要转义反斜杠:

$ echo 'foo$bar' > dollar.txt
$ echo 'foo_bar' > no_dollar.txt

$ [ `grep -c '\$' dollar.txt` -gt 0 ] && echo 1
1

$ [ `grep -c '\$' no_dollar.txt` -gt 0 ] && echo 1
1

$ [ `grep -c '\\$' dollar.txt` -gt 0 ] && echo 1
1

$ [ `grep -c '\\$' no_dollar.txt` -gt 0 ] && echo 1

$ [ `grep -c '\\$' no_dollar.txt` -gt 0 ] || echo 0
0

或者,使用 $() 代替反引号

关于linux - Grep 在反引号内寻找美元符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24329068/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com