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

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


蝴蝶不菲
浏览 1672回答 4
4回答

烙印99

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

杨__羊羊

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

鸿蒙传说

echo $1sed "s/[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+/${1}/" test.datatest.data 就是你的文件。用正则表达式匹配到ip地址,然后用命令行的输入替换。不过问题是如果文件中有多个,还是挺麻烦的。还是用强大的脚本比较好。另外,替换后还要通过临时文件替换回原文件。不能直接覆盖
打开App,查看更多内容
随时随地看视频慕课网APP