
正文
linux命令字符串替换 linux怎么替换字符串
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
在red hat enter linux中用怎么替换字符串
sed。
在linux中可以利用sed命令来查找和替换文件中linux命令字符串替换的字符串,该命令采用linux命令字符串替换的是流编辑模式,可以根据正则表达式匹配和处理文本文件中linux命令字符串替换的数据,替换语法为“sed”s/要搜索的字符串或正则表达式/替换值/g'要执行操作的文件名”。
相关问答
Q1: linux下批量查询文件内容字符串并替换
查找批量替换文件时,去除某种类型的文件,下面表示在./salt/*下的所有文件中,不包括tar.gz结尾的文件,搜索包含有node01字符串的文件
grep "node01" -rl ./salt/* --exclude=*.tar.gz
其实这里的 -r表示递归,-l表示输出文件名,
也可以将 -rl替换为-rn,-n表示是哪一行,会输出行号详细信息
grep "node01" -rn ./salt/* --exclude=*.tar.gz
替换字符串:
把./salt/*目前下所有文件进行遍历,查是否包含node01字符串的,不包括tar.gz结尾的文件。然后把node01用test01进行批量替换。
grep "node01" -rl ./salt/* --exclude=*.tar.gz | xargs sed -i 's/node01/test01/g'
Q2: Linux命令之sed-替换字符串
1. sed -i 's/CANCEL_TIME/CANCEL_RECV_TIME/g' csv2drds-TF_B_PAYLOG_D.json
---指定文件替换,将文件中的CANCEL_TIME替换成CANCEL_RECV_TIME;
2. sed -i 's/CANCEL_TIME/CANCEL_RECV_TIME/g' `grep CANCEL_TIME -rl ./*TF_B_PAYLOG_D*.json`
---批量文件替换,递归查找含CANCEL_TIME的文件,将所有文件中的CANCEL_TIME替换成CANCEL_RECV_TIME;
3. sed -i 's/\/tmp\/ditagent\/TF_B_PAYLOG_D.csv/\/vdata\/datapre\/281\/'"$filename"'/g' $jsonname
---带/的字符串替换,将/tmp/ditagent/TF_B_PAYLOG_D.csv替换成/vdata/datapre/281/'"$filename"'
4. sed -i 's/^/beginstring/g' *.txt
---在所有行首添加字符串;
5. sed -i 's/$/endstring/g' *.txt
---在所有行末添加字符串
6. sed -i '2s/原字符串/替换字符串/g' *.txt
---替换第2行
7. sed -i '$s/原字符串/替换字符串/g' *.txt
---替换最后一行
8. sed -i '2,5s/原字符串/替换字符串/g' *.txt
---替换2到5行
9. sed -i '2,$s/原字符串/替换字符串/g' *.txt
---替换2到最后一行
10. sed 's/\x80/|/g' test.dat |iconv -f gbk -t utf-8 testutf8.dat
---把test.dat中的欧元符号替换成竖线,再将文件gbk格式转成utf8
-i选项是直接在文件中替换,不在终端输出;
-r选项是所给的path中的目录递归查找;
-l选项是输出所有匹配到oldstring的文件;
s/表示替换
/g表示全局替换
Q3: 总结linux替换字符串的几种方法
一)通过vi编辑器来替换。
vi/vim 中可以使用 :s 命令来替换字符串。
:s/well/good/ 替换当前行第一个 well 为 good
:s/well/good/g 替换当前行所有 well 为 good
:n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good
:n,$s/well/good/g 替换第 n 行开始到最后一行中每一行所有 well 为 good
n 为数字,若 n 为 .,表示从当前行开始到最后一行
:%s/well/good/(等同于 :g/well/s//good/) 替换每一行的第一个 well 为 good
:%s/well/good/g(等同于 :g/well/s//good/g) 替换每一行中所有 well 为 good
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#well/#good/# 替换当前行第一个 well/ 为 good/
:%s#/usr/bin#/bin#g 可以把文件中所有路径/usr/bin换成/bin
(二)直接替换文件中的字符串。(此法不用打开文件即可替换字符串,而且可以批量替换多个文件。)
1.perl命令替换,参数含义如下:
-a 自动分隔模式,用空格分隔$_并保存到@F中。相当于@F = split ”。分隔符可以使用-F参数指定
-F 指定-a的分隔符,可以使用正则表达式
-e 执行指定的脚本。
-i扩展名 原地替换文件,并将旧文件用指定的扩展名备份。不指定扩展名则不备份。
-l 对输入内容自动chomp,对输出内容自动添加换行
-n 自动循环,相当于 while() { 脚本; }
-p 自动循环+自动输出,相当于 while() { 脚本; print; }
用法示例:
perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c
将所有C程序中的foo替换成bar,旧文件备份成.bak
perl -p -i -e "s/shan/hua/g" ./lishan.txt ./lishan.txt.bak
将当前文件夹下lishan.txt和lishan.txt.bak中的“shan”都替换为“hua”
perl -i.bak -pe 's/(\d+)/ 1 + $1 /ge' file1 file2
将每个文件中出现的数值都加一
2.sed命令下批量替换文件内容
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 文件名
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
s表示替换,d表示删除
示例:sed -i "s/shan/hua/g" lishan.txt
把当前目录下lishan.txt里的shan都替换为hua 各个Linux详细命令介绍及应用可如下进行查找
Q4: Linux命令行操作之sed
sed命令行格式:sed [options] 'command' file(s)
options常用选项:
-n或--quiet或——silent:仅显示script处理后的结果;
-e:以选项中的指定的script来处理输入的文本文件;
-f:以选项中指定的script文件来处理输入的文本文件;
-r∶sed 的动作支援的是延伸型正规表示法的语法;
-i∶直接修改读取的档案内容,而不是由萤幕输出;
-h或--help:显示帮助;
-V或--version:显示版本信息。
Command常用命令:
a:新增,a 的后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行);
c:取代,c 的后面可以接字符串,这些字符串可以取代 n1.n2 之间的行;
d:删除,d 后面通常不接任何字符串;
i:插入,i 的后面可以接字符串,而这些字符串会在新的一行出现(目前的上一行);
p:列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作;
s:取代,可以直接进行取代的工作,通常与正规表达式搭配使用。
实例说明:
新增操作:a命令
sed '/^bird/a\test' file将test追加到 以bird开头的行后面
删除操作:d命令
sed '/^$/d' file #删除空白行;
sed '2d' file #删除第二行;
sed '2.$d' file #删除第2行到最后一行;
sed '$d' file #删除最后一行;
sed '/^bird/'d file #删除所有开头是bird的行;
插入操作:i命令
sed -i '3i\bird ' bird.conf #在bird.conf文件第3行之前插入bird
替换文本中的字符串:s命令
sed 's/bird/birds/' file #将文本中的bird替换成birds;
sed -i 's/ bird / birds /g' file #将file文件中每一行的第一个bird替换为birds;
Q5: linux命令行替换文件内容
通过你的描述,替换命令如下:
1、tr 命令来进行替换
[root@localhost ss1]# tr '111' '2222222' aa.txt
2、sed 命令
[root@localhost ss1]# sed ‘s/wyf/wzw/g’ ./person.txt
这里使用sed 内置命令s 来实现替换功能,并且使用了全局替换标志g 表示替换文件中匹配wyf的所有字符串。
温馨提示:
1、tr 命令在接文件时比较特殊,需要输入重定向符号 “”
2、凡是在文本中出现的“111”均应转换成“222222”,而不是仅仅将单个进行转换,这个要注意。
3、在使用sed 命令时,要注意一下语法格式,将要替换的文本“wyf”放在第一个和第二个“/” 之间,将替换后的文本“wzw”放到第二个和第三个“/” 之间。这个要注意。
以上就是我的回答,在具体操作时,可能会有出入,如有问题可 私信 + 关注,我会第一时间来进行回复追答,希望我的回答能帮到你。
linux命令字符串替换的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux怎么替换字符串、linux命令字符串替换的信息别忘了在本站进行查找喔。








