sed,awk引入外部变量:三引号'''

sed 后接入双引号,可直接调用内部变量,需要时可以这样使用,但一般不建议

三引号过于冗余,有时候也可以通过echo 给sed 引入外部变量, echo "sed -i 's/old_var/${new_var}/'  test.txt "|sh;示例:for i in $(cat list);do cp jlx_image_upload.sh  jlx_image_upload.sh-${i};echo  "sed -i 's/jlx_image/${i}/'  jlx_image_upload.sh-${i}"|sh;done

sed 和awk引入外部变量时,需要使用三引号,格式为三个单引号,或者单引号内套一个双引号!!!

grep就不说了,grep默认可以直接读取变量

[root@controller ~]# cat test.txt
12c
45f
78"i"
[root@controller ~]# a=0
[root@controller ~]# sed -i 's/c/'"$a"'/' test.txt
[root@controller ~]# cat test.txt
120
45f
78"i"

[root@controller ~]# sed -i 's/f/'''$a'''/' test.txt
[root@controller ~]# cat test.txt
120
450
78"i"

。。。

[root@controller ~]# cat test.txt
120
450
78""""$a""""
[root@controller ~]#
[root@controller ~]# awk '/'''$a'''/{print $1}' test.txt
120
450
[root@controller ~]# awk '/''$a''/{print $1}' test.txt
[root@controller ~]# awk '/'"$a"'/{print $1}' test.txt
120
450

[root@controller ~]#

 

 

 

 

posted @ 2023-06-09 09:31  咿呀哒喏  阅读(84)  评论(0编辑  收藏  举报