我想从 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)