分页: 1 / 1

[已解决]awk的pattern是shell变量,变量扩展完是一个包含特殊字符的内容该怎么办?

发表于 : 2017-07-18 1:08
科学之子
awk的pattern是shell变量,变量扩展完是一个包含特殊字符的内容该怎么办?

例如:

代码: 全选

root@debian:~# losetup |awk "/${loopfile}/ {\$1}"
awk: cmd. line:1: //home/username/swap_test/ {$1}
awk: cmd. line:1:                            ^ syntax error
root@debian:~# 
Wed Jul 19 18:10:44 CST 2017补充:
额外收获:
一开始没看懂2楼的代码
https://www.tutorialspoint.com/awk/awk_workflow.htm
$0原来代表的是当前整行,而非整个输入

Re: awk的pattern是shell变量,变量扩展完是一个包含特殊字符的内容该怎么办?

发表于 : 2017-07-18 19:47
astolia
你这种情况就不该用正则匹配

代码: 全选

export loopfile
losetup | awk '{if(index($0,ENVIRON["loopfile"])>0){print $0}}'