admin 管理员组文章数量: 887031
sed:
sed执行替换操作,单独执行不存在问题,但是脚本中执行报上述信息:
###手工执行#############
[root@k8s-t01 tmp]# a=88888888
[root@k8s-t01 tmp]# b=ffffffff
[root@k8s-t01 tmp]# sed -i "s/${a}/${b}/g" q1.txt
[root@k8s-t01 tmp]# more q1.txt
xxxxx||yyyyyy||zzzzzz|11111||22222||333||ffffffff||0000000
xxxxx||yyyyyy||zzzzzz|11111||22222||333||ffffffff||0000000
xxxxx||yyyyyy||zzzzzz|11111||22222||333||ffffffff||0000000
xxxxx||yyyyyy||zzzzzz|11111||22222||333||ffffffff||0000000
xxxxx||yyyyyy||zzzzzz|11111||22222||333||ggggggg||0000000
######脚本执行###########
[root@k8s-t01 tmp]# cat q1.txt |while read line
> do
> a=`echo $line|awk -F "|" '{print $12}'`
> echo $a
> b=`grep $a p1.txt |awk '{print $2}'`
> echo $b
> sed -i "s/${a}/${b}/g" q1.txt
> done
88888888
fffffff
88888888
fffffff
88888888
fffffff
88888888
fffffff
ggggggg
ggggggg
sed: -e expression #1, char 0: no previous regular expression
[root@k8s-t01 tmp]# more q1.txt
xxxxx||yyyyyy||zzzzzz|11111||22222||333||fffffff||0000000
xxxxx||yyyyyy||zzzzzz|11111||22222||333||fffffff||0000000
xxxxx||yyyyyy||zzzzzz|11111||22222||333||fffffff||0000000
xxxxx||yyyyyy||zzzzzz|11111||22222||333||fffffff||0000000
xxxxx||yyyyyy||zzzzzz|11111||22222||333||ggggggg||0000000
[root@k8s-t01 tmp]#
看结果也是执行成功了!!!
本文标签: sed
版权声明:本文标题:sed: 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1686533299h6901.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论