小编mis*_*up7的帖子

在此 Bash shell 脚本中将第二个变量传递给 gawk 失败

我想从 shell 脚本将两个变量传递到 AWK 脚本。

#!/bin/bash

HeaderSize=$(grep -n "# end header data" input.list | tr ":" "\n" | head -n 1)
RecordSize=$(grep -n "# Number of unique" input.list | tr ":" "\n" | tail -n 1 | sed 's/,//g')

echo $HeaderSize
echo $RecordSize

head -n $HeaderSize input.list > temp.list

./parse.awk -v headersize=$HeaderSize -v recordsize=$RecordSize < input.list >> temp.list
Run Code Online (Sandbox Code Playgroud)

文件parse.awk看起来像这样:

#!/bin/gawk -f

BEGIN {
    curline=1;
    excludeline=0;
    newrecordsize=0;
}
{
    if (curline < $headersize) {
        curline++;
    } else {
        if …
Run Code Online (Sandbox Code Playgroud)

bash awk shell-script

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

标签 统计

awk ×1

bash ×1

shell-script ×1