再会,

我想知道如何将文件名作为变量传递给awk,以便awk读取它。

到目前为止,我已经完成了:

echo    file1   >  Aenumerar
echo    file2   >> Aenumerar
echo    file3   >> Aenumerar

AE=`grep -c '' Aenumerar`
r=1
while [ $r -le $AE ]; do
    lista=`awk "NR==$r {print $0}" Aenumerar`
    AEList=`grep -c '' $lista`
    s=1
    while [ $s -le $AEList ]; do
        word=`awk -v var=$s 'NR==var {print $1}' $lista`
        echo $word
    let "s = s + 1"
    done
let "r = r + 1"
done

提前非常感谢使用bash命令行进行操作的任何线索或其他简单方法

最佳答案

代替:

awk "NR==$r {print $0}" Aenumerar

您需要使用:
awk -v r="$r" 'NR==r' Aenumerar

10-05 20:07