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' `grepCANCEL_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-8testutf8.dat
---把test.dat中的欧元符号替换成竖线,再将文件gbk格式转成utf8
-i选项是直接在文件中替换,不在终端输出;
-r选项是所给的path中的目录递归查找;
-l选项是输出所有匹配到oldstring的文件;
s/表示替换
/g表示全局替换
linux服务器文本关键字搜索替换1、vi命令下的查找和替换
1.1 vi下的查找
/helloEnter :向下查找hello匹配字符串
?helloEnter:向上查找hello匹配字符串
使用了查找命令之后,使用如下两个键快速查找:
n:按照同一方向继续查找
N:按照反方向查找
hello是需要匹配的字符串,例如:
/nameEnter#查找name
/nameEnter#查找name单词(注意前后的空格)
除此之外,hello还可以使用一些特殊字符 , 包括(/、^、$、*、.),其中前三个这两个是vi与vim通用的 , “/”为转义字符 。
【linux中命令的替换 linux 替换】 /^nameEnter#查找以name开始的行
/name$Enter#查找以name结束的行
//^nameEnter#查找^name字符串
1.2 vi下的替换
:s/name/title/#替换当前行第一个 name 为 title
:s/name/title/g#替换当前行所有 name 为 title
:n,$s/name/title/#替换第 n 行开始到最后一行中每一行的第一个 name 为 title
:n,$s/name/title/g#替换第 n 行开始到最后一行中每一行所有 name 为 title
#(n 为数字,若 n 为 . , 表示从当前行开始到最后一行)
:%s/name/title/#(等同于 :g/name/s//title/) 替换每一行的第一个 name 为 title
:%s/name/title/g#(等同于 :g/name/s//title/g) 替换每一行中所有 name 为 title
可以使用 #或作为分隔符,此时中间出现的 / 不会作为分隔符
:s#name/#title/#替换当前行第一个 name/ 为 title/
:%s /oradata/apras/ /user01/apras1(
使用来 替换 / ): /oradata/apras/替换成/user01/apras1/
2.sed和grep配合
命令:sed -i s/yyyy/xxxx/g `grep yyyy -rl --include="*.txt" ./`
作用:将当前目录(包括子目录)中所有txt文件中的yyyy字符串替换为xxxx字符串 。其中,
-i 表示操作的是文件,``括起来的grep命令 , 表示将grep命令的的结果作为操作文件 。
s/yyyy/xxxx/表示查找yyyy并替换为xxxx,后面跟g表示一行中有多个yyyy的时候,都替换 , 而不是仅替换第一个
另外,如果不需要查找子目录,仅需要在当前目录替换 , 用sed命令就行了,命令如下:sed -i s/xxxx/yyyy/g ./*.txt
3.find命令查找和替换
命令格式:find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'
#查找替换当前目录下包含字符串并进行替换
find -name '*.txt' | xargs perl -pi -e 's|江苏|上海|g'
#递归查找替换
find . -type f -name '*.html' | xargs perl -pi -e 's|苏州|上海|g'
linux之文本内容替换命令sedsed简介:流编辑工具 , 用来对文本进行过滤与替换操作 。
sed流程:sed通过一次仅读取一行内容来对某些指令进行处理后输出 。
1、sed通过文件或管道读取文件内容,但sed默认并不直接修改源文件,而是将读入的内容复制到缓冲区中 , 称之为模式空间 。
2、所有的指令操作都是在模式空间找那个进行
3、sed根据相应的指令对模式空间中的内容进行处理并输出结果,默认输出至标准输出(即屏幕上) 。
sed基本语法格式:
用法:sed[选项]...{脚本指令}[输入文件]...
选项: -version 显示sed版本
-help :显示帮助文档
-n,-quiet,-silent静默输出,默认情况下,sed程序在所有的脚本指令执行完毕后 , 将自动打印模式空间中的内容 。
-e script允许多个脚本指令被执行
-f script-file从文件中读取脚本指令,对编写自动化脚本程序很实用
-i ,-in-place 该选项直接修改源文件
-l N 该选项指定l指令可以输出的行长度,l指令为输出非打印字符 。
-posix 禁用GNU sed扩展功能 。
-r 在脚本指令中使用扩展正则表达式 。
-s,-separate 默认情况下 , sed将把输入的多个文件名作为一个长的连续的输入流 。而GNU sed则允许把它们当作单独的文件 。
-u , -unbuffered 最低限度的缓存输入与输出
a,append表示追加指令;
i,insert表示插入指令;
d,delete表示删除指令;
s,substitution表示替换指令 。
sed脚本指令的基本格式是:
[地址,即路径]命令(有些命令仅可以对一行操作,有些可以对多行操作),命令也可以用花括号进行组合,使命令序列可以作用于同一个地址 。
address{
command1
command2
command3
}
sed的基本工作方式是:
sed的替换命令s:
1、全局替换 : s/old/new/g,其中g为全局替换,用于替换所有出现的次数; /如果和正则匹配的内容冲突可以使用其他符号,如 : s@old@new@g
2、标志位
为什么要有多行模式: 配置文件一般有单行出现,但也有使用json或XML格式的配置文件,为多行出现 。
多行模式处理命令N、D、P
Linux下的shell编程 如何替换文件中的内容可以这样做:
方法1:sed -i 's/被替换的内容/要替换成的内容/' file
方法2:sed 's/被替换的内容/要替换成的内容/g' filefile.out;mv file.out file 。
扩展资料:
Shell编程的常用技巧:
一、自动补齐:在linux中对于命令或路径 , 可以TAB键进行自动补全,以下事项需要注意:
1、只存在一个该输入字符开头的命令或路径,此时自动补全;
2、存在多个该输入字符开头的命令或路径 , 此时第一次点击TAB键无效,此时再次点击TAB会罗列出所有该字符开头的命令或路径,继续输入直到仅仅剩一个时自动补全;
3、如果命令已经是完整的,TAB键则是本来的移动功能;而路径的话要看命令自身的行为决定后续动作 。
二、历史命令
1、history命令可以显示历史执行过的命令;
2、使用! 序号执行该序号对应的命令;
3、使用! 字符执行该字符开头的最后一次执行的指令 。
三、命令别名
1、实现别名:alias ddd="df -Th";
2、删除别名:unalias ddd;
3、显示所有别名命令列表:alias;
4、存放位置:~/.bashrc(加入该文件后,重启后不会消失) 。
四、重定向
1、重定向标准输入: 命令接收输入的途径由键盘改为文件;
2、重定向标准输出: 将命令的执行结果输出到指定文件 , 而不是直接显示到屏幕;
3、重定向标准输出: 将命令的执行结果追加输出到指定文件;
4、重定向标准错误:2 清除指定文件的内容,并把标准错误信息保存到指定文件;
5、重定向标准错误:2 标准错误信息追加到指定文件;
6、重定向标准输出和标准错误:将标准输出、标准错误信息全部保存到指定文件,而不是直接显示在屏幕上 。
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中命令的替换的信息别忘了在本站进行查找喔 。
推荐阅读
- 直播片段技巧,直播怎么讲段子
- 虎牙电脑版怎么下载,电脑怎么下载虎牙直播助手
- 开发小孩左右脑的游戏,开发小孩左右脑的游戏有哪些
- 水晶新人直播话术,水晶直播怎么提现
- c语言怎么定义和调用函数 c语言中定义和调用
- 鸿蒙3.0系统,鸿蒙30系统怎么样
- hive读取postgresql,hive读取json文件
- 淘宝直播打字教程,淘宝直播间怎么打字幕
- 新系统推荐windows的简单介绍