shell如何取出特定文本内容并替换另一个文本中的指定内容???

比如
$cat file1
mqserver=127.0.0.1
$cat file2
ip=192.168.1.1
如何通过shell脚本将file1中的内容改为 mqserver=192.168.1.1

第1个回答  2017-03-17
1、按=分割取第二列
cat $file1|grep mqserver|awk -F= '{print $2}'`
2、直接替换文件内容
sed -i "s/127.0.0.1/192.168.1.1/" file1
3、实例:
#!/bin/sh
file1=ip1.txt
file2=ip2.txt
IP1=`cat $file1|grep mqserver|awk -F= '{print $2}'`
IP2=`cat $file2|grep ip|awk -F= '{print $2}'`
echo change $IP1 to $IP2.
sed -i "s/$IP1/$IP2/" $file1
more $file1追问

我的file1中有多个IP需要更改,我用了你的方法,如果file1中的多个IP在更改之前都相同的话,执行到Sed替换的时候就会把那些IP全部改为相同的IP,不会再执行下面的sed替换。请问我该怎么做才能不管更改之前IP相不相等,都可以实现每个sed语句对应一个替换?

本回答被提问者和网友采纳

shell如何取出特定文本内容并替换另一个文本中的指定内容???
1、按=分割取第二列 cat $file1|grep mqserver|awk -F= '{print $2}'`2、直接替换文件内容 sed -i "s\/127.0.0.1\/192.168.1.1\/" file1 3、实例:!\/bin\/sh file1=ip1.txt file2=ip2.txt IP1=`cat $file1|grep mqserver|awk -F= '{print $2}'`IP2=`cat $file2|grep...

使用shell 命令进行查找替换
使用 sed 命令进行文本查找替换是一种常用的 Linux shell 操作。sed 命令全称为 stream editor for filtering and transforming text,用于对文本进行过滤和转换。示例中,sed 命令用于在文件 somefile.txt 中查找 toreplace 文本并将其替换为 yoursetting。这里的关键是,查找和替换的文本可以使用正则表达式...

...shell怎么查找文件中指定字符串,并把该字符串和下一行的内容写到另...
1、grep -i "aaa" -A 1 1.txt | grep -v -e "--" >2.txt grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为“-”,则grep指令会从标准输入设备读...

shell 如何取本本文件中 指定两个字符中间的内容呢?
把echo命令的输出改成你的文本名,如cat test.txt,之后把结果赋值给newip变量,如newip=

如何用shell脚本将一个文本文件的某几行输入到另一个文件中
请看图:取出3-5行,用sed命令就这样:将命令放到脚本中就可以

利用shell脚本如何提取一个文件中某一特定行和下面若干行的内容
1、在linux目录\/root下建立一个txt文件,内容如下,使用|竖线分割,作为我们的实验数据样本。2、sed用法、sed-n'xp'data.txt;显示文件X行数据,获取第18行数据,即为sed-n'18p'data.txt。3、sed-n'开始行,结束行p'data.txt;显示文件X行到Y行的内容:命令:sed-n'10,18p'data.txt。4、...

shell 如何取文本中 指定两个字符中间的内容
sed -nr '\/TABLE\/{s\/.*"bank"\\.(.+) row.*\/\\1\/;p}' yourfile或者:awk -F. '\/TABLE\/{split($2,a," ");print a[1]}' yourfile结果都是:cpdmdyb_ck cpdmdyb_dk

powershell判断一个TXT文本包含另一个TXT文本内容
get-content命令。用get-content命令,就能读取指定文件内容。可以把Web服务器、域名控制器和数据库服务器等不同类型的服务器放到一个文本文档中,接着使用这个技巧再次运行这个包含全部计算机集合的命令。PowerShell安装包随附于WMF安装程序内。WMF安装程序版本与PowerShell版本一致。不提供WindowsPowerShell独立...

shell中文件字符串替换
答案:在Shell中,可以使用`sed`命令进行文件字符串替换。具体语法为:`sed -i 's\/原字符串\/新字符串\/g' 文件名`。详细解释:1. sed命令简介 `sed`是一个流编辑器,用于对文本文件进行非交互式处理。它可以对文件内容进行搜索、替换、删除、插入等操作。2. 字符串替换语法 `sed`命令中的替换...

shell 中文件字符串替换
首先,创建一个临时文件`tmp_desc`(通过`mktemp`命令),然后从输入文件中逐行读取,如果找到'desc',则使用`sed`替换并记录当前行号,否则直接输出。脚本的结构如下:当你需要处理大型文件时,shell脚本可能效率较低,因为它们不擅长处理大量数据。在这种情况下,使用像Perl这样的编程语言可能更为高效,...

相似回答