在awk的shell中,我可以用变量代替文件路径吗?
对于awk 我可以用变量代替文件路径吗??在awk的shell中,我可以用变量代替文件路径吗?,shell,Shell,对于awk 我可以用变量代替文件路径吗?? arr=$(awk-v str=start'$2~“^”str“[0-9]*”{print$2;exit;}'/filepath) 注意输出以前在文件路径中,现在在变量“A”中。 尝试了以下操作: arr=$(awk -v str=start '$2 ~ "^" str "[0-9]*" { print $2; exit; }' ,$a) arr=$(awk -v VAR="a" str=start '$2 ~ "^" str "[0-9]*"
arr=$(awk-v str=start'$2~“^”str“[0-9]*”{print$2;exit;}'/filepath)
注意输出以前在文件路径中,现在在变量“A”中。
尝试了以下操作:
arr=$(awk -v str=start '$2 ~ "^" str "[0-9]*" { print $2; exit; }' ,$a)
arr=$(awk -v VAR="a" str=start '$2 ~ "^" str "[0-9]*" { print $2; exit; }' ,$a)
不起作用
上一篇文章了解更多详细信息:
访问
任何帮助都将不胜感激 这成功了,谢谢阿努巴瓦 使用:
用法:
arr=$(echo“$a”| awk-v str=start'$2~”^“str”[0-9]*“{print$2;exit;}”)
对不起,让我再试一次。。很快就会更新。所以您有shell代码,上面写着(类似于)a-/filepath
?也许您需要导出a=/filepath。回想一下,所有文本,包括Linux/Unix中的变量名,都是区分大小写的$a
和$a
是两个不同的变量。你已经被警告了!;-)Good luck.arg,为什么在$a
之前添加逗号?那没用。在您的第二个arr=
中,您使用的是-v VAR
,这将是一个awk内部变量,但您从未在awk内部引用VAR
。变量$a
仅在shell中可见,对awk不可见。如果有a=/filepath
,则cmd正在尝试执行awk/文件路径
。注意有问题的逗号!获取一行awk
以输出所需的数据,而无需将其包装在arr=$(..)
中。一旦工作正常,然后添加arr=$(…)
。祝你好运,一切顺利。谢谢:)
arr=$(echo "$a" | awk -v str=start '$2 ~ "^" str "[0-9]*" { print $2; exit; }')