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 ~]#