gpt4 book ai didi

linux - 意外的 token 错误 :awk when ran with sh var

转载 作者:太空宇宙 更新时间:2023-11-04 10:40:06 25 4
gpt4 key购买 nike

我有一个包含数据格式的文件:我的文件:

ABC7
{
0198cc998
};
FF48
{
01988899f
};

我需要使用参数 id_data 创建一个 sh 函数并返回如下数据:

#!/bin/sh
get_data()
{
cmd="awk '/$1/{getline; getline; print}' $2"
echo $cmd
export result=`$cmd`
}

get_data "ABC7" "myfile"
echo $result

当我执行脚本时出现此错误:

awk '/ABC7/{getline; getline; print}' myfile 
# when I copy this line and I execute it manually it works
awk: cmd. line:1: Unexpected token

如何运行由 shell 变量组成的 awk?

最佳答案

您不需要对 awk 脚本进行所有这些包装来传递参数。为此有一个 -v 选项。

 $ var=ABC7; awk -v key="$var" -v RS="};" '$1~key{print $3}' data

0198cc998

关于linux - 意外的 token 错误 :awk when ran with sh var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35509659/

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