【发布时间】:2014-09-18 09:29:54
【问题描述】:
我想写一个 bash 并传递一些变量给它。
awk -v $3=lengthA -v $4=lengthB 'NF<=lengthA/lengthB' - >
但它返回此错误
awk: fatal: `50' 不是合法的变量名
【问题讨论】:
我想写一个 bash 并传递一些变量给它。
awk -v $3=lengthA -v $4=lengthB 'NF<=lengthA/lengthB' - >
但它返回此错误
awk: fatal: `50' 不是合法的变量名
【问题讨论】:
如果$3来自shell,那么
awk -v var=$3 'NF<=var' file
如果你喜欢使用 shell 变量,那么
lengthA=3
awk -v var="$lengthA" 'NF<=var' file
或
awk 'NF<=var' var="$lengthA" file
PS 总是对变量使用双引号。
【讨论】:
参数-v 需要name=value。所以你需要写-v lengthA=$3
【讨论】: