gpt4 book ai didi

bash - grep命令知道两个字符串是否按特定顺序

转载 作者:行者123 更新时间:2023-11-29 09:39:22 26 4
gpt4 key购买 nike

我正在尝试编写一个 shell 脚本来检查文件中是否存在两个字符串,此外,我正在检查它们是否按特定顺序排列。

假设 file.txt 包含以下文本:

bcd
def
abc

我正在使用命令:grep -q abc file.txt && grep -l bcd file.txt

当两个字符串以任何顺序出现时,这将给出输出 file.txt。我只想在 abc 出现在 bcd 之前时获取输出。请帮我解决这个问题

最佳答案

使用 grep PCRE 选项:

grep -Pzl 'abc[\s\S]*bcd' file.txt
  • -z - 将输入和输出数据视为行序列,每行以零字节(ASCII NUL 字符)而不是换行符终止。

如果您这边不支持 PCRE(-P 选项):

grep -zl 'abc.*bcd' file.txt

关于bash - grep命令知道两个字符串是否按特定顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45499741/

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