linux - 如何根据给定的模式按顺序输出匹配的字符串

标签 linux shell

例如输入是

abcde    
abcde1n1    
abcde0n1    
abcdf

我想搜索的是abcdf/abcde是否存在,但是按照给定的模式顺序输出。

所以期望的输出应该是:

abcdf    
abcde

我试过 cat file1.txt | grep "abcdf\|abcde",但它先给出 abcde。

最佳答案

grep 不是那样工作的。要实现输入排序,您可能需要通过各种输入运行循环。

for string in abcdf abcde;
do
   grep  -w "$string" file;
done

将返回:

abcdf
abcde

-w 标志在这里用于模拟确切的期望结果。

关于linux - 如何根据给定的模式按顺序输出匹配的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57263042/

相关文章:

linux - 删除以 # 开头的字符串以及 # 之后的所有内容

用于打印 C 文件的函数详细信息的 C 程序

c# - 如何在linux服务器上使用c#上传asp.net开发的网站

linux - 复制名称遵循某种模式的文件

java - Gradle 项目同步在 linux 的 android studio 中失败

linux - PCI 枚举 hack 以数据中止异常结束

bash - 为什么我的 sed 操作不起作用?

bash - grep 找到字符串后计算行数

linux - 这行代码在 shell 中是如何工作的?

linux - sudo : unable to excute ./blah.sh: 没有那个文件或目录