gpt4 book ai didi

shell - 搜索多个字符串

转载 作者:行者123 更新时间:2023-12-02 03:58:38 24 4
gpt4 key购买 nike

我正在使用 grep 命令从文件中获取所需的信息。我正在使用如下两个 grep 语句

XXXX='grep XXXX FILE A|sort|uniq|wc -l'
grep YYYY FILE A|uniq| > FILE B

现在文件被遍历了两次。但我只想知道,如果我能够在单个文件遍历中完成这两个步骤,即我想知道我是否可以使用类似于 egrep 的东西,在那里我可以对两个字符串和一个字符串进行 grep 我将使用它输入一个变量并将另一个字符串输出到一个文件中。

最佳答案

您可以使用以下代码。在这里,我们只在所有文件中搜索包含 XXXX 或 YYYY 的行一次,并将结果行存储到数组中。然后我们使用这个数组的元素来选择包含 XXXX 的行和包含 YYYY 的行。

filtered=`grep -E '(XXXX|YYYY)' FILE A`
XXXX=`for line in ${filtered[@]}; do echo $line; done | grep XXXX | sort | uniq | wc -l`
for line in ${filtered[@]}; do echo $line; done | grep YYYY | uniq > FILE B

所以文件不会被遍历两次!

关于shell - 搜索多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11421900/

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