小编use*_*017的帖子

在shell脚本中使用awk中的数组

我是Unix shell脚本的新手,并试图获得shell脚本的一些知识.请检查我的要求和我的方法.

我有一个包含数据的输入文件

ABC = A:3 E:3 PS:6 
PQR = B:5 S:5 AS:2 N:2
Run Code Online (Sandbox Code Playgroud)

我试图解析数据并得到结果

ABC
A=3
E=3
PS=6

PQR
B=5
S=5
AS=2
N=2
Run Code Online (Sandbox Code Playgroud)

可以水平和垂直添加值,因此我尝试使用数组.我正在尝试这样的事情:

myarr=(main.conf | awk -F"=" 'NR!=1 {print $1}'))
echo ${myarr[1]}
# Or loop through every element in the array
for i in "${myarr[@]}"
do
   :
  echo $i
done
Run Code Online (Sandbox Code Playgroud)

要么

awk -F"=" 'NR!=1 {
    print $1"\n"
    STR=$2
    IFS=':' read -r -a array <<< "$STR"
    for i in "${!array[@]}"
    do
    echo "$i=>${array[i]}"
    done

}' main.conf
Run Code Online (Sandbox Code Playgroud)

但是,当我将此代码添加到.sh文件并尝试运行它时,我会收到语法错误 …

arrays shell awk

2
推荐指数
1
解决办法
264
查看次数

标签 统计

arrays ×1

awk ×1

shell ×1