Sed awk可以帮助检测文件中的序列吗?

Sed awk可以帮助检测文件中的序列吗?,sed,awk,grep,Sed,Awk,Grep,好的,这对专业人士来说很简单;然而到目前为止,我还没有找到答案 我的文件内容包含逗号分隔的值,我需要从中提取一个数字。我的问题是,周围值的顺序对于返回正确的数字很重要 文件内容示例: car, 00, tar foo, 01, bar bar, 02, foo foo, 04, car 也许使用awk或sed,可以帮助我将变量var分配给01,因为foo出现在行中的bar之前。将其指定给02将是错误的,因为bar出现在foo之前 如果这是重复的,请提前道歉。。。我在网上搜索过这里和其他几个地方

好的,这对专业人士来说很简单;然而到目前为止,我还没有找到答案

我的文件内容包含逗号分隔的值,我需要从中提取一个数字。我的问题是,周围值的顺序对于返回正确的数字很重要

文件内容示例:

car, 00, tar
foo, 01, bar
bar, 02, foo
foo, 04, car
也许使用awk或sed,可以帮助我将变量var分配给01,因为foo出现在行中的bar之前。将其指定给02将是错误的,因为bar出现在foo之前


如果这是重复的,请提前道歉。。。我在网上搜索过这里和其他几个地方;提前谢谢!此外,我仍在尝试使用各种代码和标记参数来获得正确的格式。

不确定我是否遵循了您的问题,但是搜索模式和返回特定列值可以使用awk轻松完成

您可以尝试以下想法:

$ cat file
car, 00, tar
foo, 01, bar
bar, 02, foo

考虑编辑您的问题,包括最小的示例数据,这些示例数据说明应该处理的情况与未处理的情况,然后显示来自该输入的预期输出。请注意编辑框顶部的{}工具可设置所选文本的格式,以提高可读性。祝你好运。啊,很好!我需要同时检测foo和bar的存在,并在将var分配给01之前按该顺序进行检测。例如,若文件包含行:foo,04,car,那个么它不会返回04,而只返回01。这有意义吗?@user3338443确定您可以执行var=$awk-F',''$1==foo&&$3==bar{print$2}'文件。这很有魅力。谢谢@jaypal!!
$ var=$(awk -F', ' '$1=="foo"{print $2}' file)
$ echo "$var"
01