我一直收到同样的错误,不知道如何解决
其中$1是registos.txt的第一个字段,$nr_registos是我给脚本的参数
awk '$1 >= '$nr_registos'' registos.txt | sed -E 's/ /:/g' | cut -d':' -f8 > temporario2.txt
要将shell变量传递给awk,请使用-v
选项:
awk -v n="$nr_registos" '$1 >= n' registos.txt | ...
切向,awk可以做sed和cut在这里做的事情:
awk -v n="$nr_registos" '
$1 >= n {
gsub(/ /, ":")
split($0, f, ":")
print f[8]
}
' registos.txt
Y0u不显示文件内容:我想知道gsub
和split
是否是必要的——你有空格序列吗,还是字段用一个空格分隔?如果这是真的,那么
awk -v n="$nr_registos" '$1 >= n {print $8}' registos.txt