gpt4 book ai didi

bash - 如何在 AWK 中插入 shell 脚本的命令行参数?

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

我必须找到所有包含我要作为命令行参数传递的特定数据的记录。

awk 表达式是这样的(日期是这样的格式:'02/08/2013')

cat records.txt| awk -F ',' '$4 ~ /02/08/2013/ {print $1 $2}'

此处第 4 列是日期列。

我想做的是,提供日期作为第一个参数并进行比较。

我试过了,但是不行。

cat records.txt| awk -F ',' -v awkvar="$1" '$4 ~ /^"awkvar/ {print $1 $2}'

这里的日期列以 "引号开头,所以我要查找以 "+awkvar 给定日期开头的记录。

谁能帮我解决这个问题?

编辑:

awk -F ',' -v var1="$1" '$4 ~ /^"2013/ {print $1 $2}' {This one is working, as I am directly comparing the record with 2013}

当我这样做的时候

awk -F ',' -v var1="$1" '$4 ~ /^"var1/ {print $1 $2}' , it does not return anything, what is the difference.

最佳答案

要将变量传递给 awk,请使用

awk -v awkvar=$value '{print awkvar}'

就是说,不需要管道 cat | awk(无用的 cat)所以最后:

awk -F, -v awkvar="$1" '$4 ~ "^\""awkvar {print $1 $2}' records.txt

关于bash - 如何在 AWK 中插入 shell 脚本的命令行参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14872412/

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