为了账号安全,请及时绑定邮箱和手机立即绑定

shell脚本替换A、B两个文件里面的内容?

shell脚本替换A、B两个文件里面的内容?

蝴蝶不菲 2019-05-28 11:07:24
shell脚本替换A、B两个文件里面的内容
查看完整描述

4 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

先读取A文件中那行内容,然后通过awk获取B文件中的第五行内容,替换后重新覆盖写入A文件。
代码如下:
#!/bin/sh
A=/usr/123.txt
B=/tem/456.conf
read line <$A
awk -v a=$line 'NR==5{print $1"\t"a}' $B >$A

查看完整回答
反对 回复 2019-06-01
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

可以使用sed进行操作,先定义一个参数读取A文件中的第一行 LineA=`sed...` 或者是使用cat把内容读取出来,再使用sed的替换方法,将B文件中的第一行替换为$LineA即可。希望有帮助

查看完整回答
反对 回复 2019-06-01
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

echo $1
sed "s/[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+/${1}/" test.data

test.data 就是你的文件。用正则表达式匹配到ip地址,然后用命令行的输入替换。
不过问题是如果文件中有多个,还是挺麻烦的。还是用强大的脚本比较好。

另外,替换后还要通过临时文件替换回原文件。不能直接覆盖

查看完整回答
反对 回复 2019-06-01
  • 4 回答
  • 0 关注
  • 1671 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信