cat read sed while 结合使用这段代码什么意思

流川world
  • 6

cat 22.txt | while read line ;do sed -i '' '/'${line}'/s/$/& zhangsan/g' 11.txt;done

特别是' '/'${line}'/这个看不懂

回复
阅读 3.4k
2 个回答
✓ 已被采纳

这条sed命令中的前两个单引号不应该存在,应该是sed -i '/'${line}'/s/$/& zhangsan/g' 11.txt意思是说用shell变量${line}的值作为正则匹配11.txt的内容,匹配则在行的结尾添加 zhangsan

${line}是22.txt里面的内容,只要11.txt和22.txt的内容相同就在11.txt行尾添加zhangsan,直到读完22.txt。

宣传栏