Chinaunix

标题: awk_expr [打印本页]

作者: 1cpuer    时间: 2019-10-29 18:42
标题: awk_expr
本帖最后由 1cpuer 于 2019-10-29 18:44 编辑

http://bbs.chinaunix.net/thread-4134582-1-1.html



# bash:root [12447] 2019-10-29 18:39:39 1572345579 /media/buku/dic1-d # echo "abaaaac" | awk '{expr="aaa"; print gensub(/'"$expr"'/, "x", "g")}'
xaxbxaxaxaxaxcx


# bash:root [12448] 2019-10-29 18:39:50 1572345590 /media/buku/dic1-d # echo "abaaaac" | awk '{expr="aaa"; print gensub(/aaa/, "x", "g")}'
abxac

#:-- 为什么不是第个情况?没有匹配到吗?

作者: Shell_HAT    时间: 2019-10-29 21:20
  1. echo "abaaaac" | awk '{expr="aaa"; print gensub(expr, "x", "g")}'
复制代码

作者: 1cpuer    时间: 2019-10-29 21:23
本帖最后由 1cpuer 于 2019-10-29 22:08 编辑

回复 2# Shell_HAT

# bash:root [12467] 2019-10-29 21:27:37 1572355657 /media/buku/dic1-d # echo "abaaaac" | awk '{expr="aaa"; print gensub(/ab/ ,"'"$expr"'", "g")}'
aaaac



# bash:root [12528] 2019-10-29 22:08:04 1572358084 /media/buku/dic1-d # echo "abaaaac" | awk '{expr="xxx"; print gensub(/ab/ ,expr , "g")}'
xxxaaaac



作者: reyleon    时间: 2019-10-30 09:45
不要把 awk 里的变量与 shell 里的变量混淆了
作者: reyleon    时间: 2019-10-30 09:49
[root@hk ~]# set -x
[root@hk ~]# echo "abaaaac" | awk '{expr="aaa"; print gensub(/'"$expr"'/, "x", "g")}'
+ echo abaaaac
+ awk '{expr="aaa"; print gensub(//, "x", "g")}'
xaxbxaxaxaxaxcx
[root@hk ~]# echo "abaaaac" | awk '{expr="aaa"; print gensub(expr, "x", "g")}'           
+ echo abaaaac
+ awk '{expr="aaa"; print gensub(expr, "x", "g")}'
abxac
[root@hk ~]#




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2