gpt4 book ai didi

regex - 使用 bash 按行和列进行 grep

转载 作者:行者123 更新时间:2023-11-29 09:49:31 25 4
gpt4 key购买 nike

假设以下示例 csv 输入

SYMBOL,JAN-11 ,FEB-11 ,MAR-11
DEF ,20 ,25 ,20
HIG ,50 ,50 ,50

是否有同时使用行和列来 grep 获取特定值的方法即符号 DEF 和 FEB-11 的 grep 应该返回值 25

按行的 grep 很简单,但我对按列的 grep 有问题。任何帮助将不胜感激。

最佳答案

正如@Ignacio Vazquez-Abrams 所说,awk 是完成这项工作的更好工具。尝试以下脚本:

#!/bin/awk -f

# usage: csvgrep row column [file]

BEGIN {
FS = "[ \t]*,[ \t]"
row = ARGV[1]
col = ARGV[2]
ARGV[1] = ARGV[2] = ""

# read header
getline
for (i=1; i<=NF; i++)
if ($i == col) {
col = i
break
}
}

($1 == row) { print $col }

您可能想要添加输入验证。 awk 可能在您系统上的 /usr/bin 中。

关于regex - 使用 bash 按行和列进行 grep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4583727/

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