有这条线
Doc=$(awk '/1516001/ { print substr($0,15,11) }' /home/data.txt)
想要用变量更改1616001。
例如:
Var='1516001'
Doc=$(awk '/$Var/ { print substr($0,15,11) }' /home/data.txt)
但它不起作用
答案 0 :(得分:0)
您可以使用awk -v
Var='1516001'
Doc=$(awk -v pat="$Var" ' $0~pat{ print substr($0,15,11) }' /home/data.txt)
答案 1 :(得分:0)
@Pedro,在awk中,变量的值不像shell的变量那样工作,所以我们必须将shell变量的值赋给awk的变量,然后使用它。
Doc=$(awk -vvar="$Var" '{if($0 ~ var){print substr($0,15,11)} }' /home/data.txt)
如果这有助于您,请告诉我。