Unexpected token error:awk when ran with sh var
Unexpected token error:awk when ran with sh var
我有一个包含数据格式的文件:
我的文件:
ABC7
{
0198cc998
};
FF48
{
01988899f
};
我需要使用参数 id_data 和 return 数据创建一个 sh 函数,如下所示:
#!/bin/sh
get_data()
{
cmd="awk '//{getline; getline; print}' "
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
如何 运行 awk 组成 shell 个变量?
您不需要所有这些包装 awk 脚本来传递参数。为此有一个 -v
选项。
$ var=ABC7; awk -v key="$var" -v RS="};" '~key{print }' data
0198cc998
我有一个包含数据格式的文件: 我的文件:
ABC7
{
0198cc998
};
FF48
{
01988899f
};
我需要使用参数 id_data 和 return 数据创建一个 sh 函数,如下所示:
#!/bin/sh
get_data()
{
cmd="awk '//{getline; getline; print}' "
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
如何 运行 awk 组成 shell 个变量?
您不需要所有这些包装 awk 脚本来传递参数。为此有一个 -v
选项。
$ var=ABC7; awk -v key="$var" -v RS="};" '~key{print }' data
0198cc998