linux中批量查找替换文本内容例子

批量搜索目录文件内容,例如:

#grep-rn"查找要搜索的文本"./

2、更改文件内容。

#sed-i"s/查找搜索文本/替换文本/g"`grep-rl"查找搜索文本"./`

sed其他用途如下:

1.删除行首空格

sed's/^[]*//g'文件名

sed's/^*//g'文件名

sed's/^[[:space:]]*//g'文件名

在2行前后添加换行符

行后:sed's/pattern//n/g'文件名

行前:sed's/pattern//n/g'文件名

代表模式

3(使用双引号)

sed-e"s/$var1/$var2/g"文件名

4.在第一行之前插入文本

插入sed-i'1i/string'filename'

5.插入最后一行

sed-i'$a/insertstring'filename

6.在匹配行之前插入

sed-i'/pattern/i"insertstring"'filename

7.在匹配行后插入

sed-i'/pattern/a"insertstring"'filename

8.删除文本中包含空行和空格的行以及用#注释的行

grep-v^#filename|sed/^[[:space:]]*$/d|sed/^$/d

查找命令

Find-name'找到的文件名'|xargsperl-pi-e's|替换字符串|替换字符串|g'

find.-typef-name'*.html'|xargsperl-pi-e's|智慧村|北山|G'

#搜索目录日志包展示包括

find./-name'*log*'-typed

find./-name'*Log*'-typedmore

当然你批处理仅对当前进程进行行替换:

示例

:s/XXX/YYY/g

,如果需要全部替换:

示例

:%s/XXX/YYY/g

如果需要更改指定部分,可以使用V进入可视模式,然后

示例

:s/XXX/YYY/g

或者您可以指定行数来替换指定范围:

示例

:10,31s/XXX/YYY/g

如果需要显示行号,使用vim

示例

:setnu

取消行号的显示:

示例

:setnu

示例

:setnonu

:swell/good/将当前行的第一口井替换为well

:s/well/good/g将当前行所有孔替换为well

:n,$s/well/good/将第n行到最后一行每行的第一个孔替换为goo

:n,$s/well/good/g每行第n行开始替换从孔到最后一行的所有孔

n是一个数字,如果n,则指向从当前行的开头到最后一行

:%s/well/good/(相当于:g/well/s//good/)将每行中的第一个孔替换为well

:%s/well/good/g(相当于:g/well/s//good/g)每行的所有孔均良好。

可以使用#作为分隔符,中间出现的/不会作为分隔符

:s#well/#good/#将第一个well/替换为good/当前行

:%s#/usr/bin#/bin#g可以将文件/usr/bin中的所有路径替换为/bin

Linux系统中tr命令删除和替换文本字符的基本用法

通过使用tr,您可以非常轻松地实现sed的许多最基本的功能。
您可以将tr视为sed的一种(极其)简化变体:它可以用一个字符替换另一个字符,或者可以完全删除某些字符。
您还可以使用它来删除重复的字符。
这就是tr所能做的。
tr用于通过替换或删除操作转换标准输入中的字符。
tr主要用于删除文件中的控制字符或进行字符转换。
使用tr时,需要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。
第一次执行tr时,字符串1中的字符被映射到字符串2中的字符,然后开始转换操作。
带有最常用选项的tr命令的格式为:代码如下:tr-c-d-s["string1_to_translate_from"]["string2_to_translate_to"]这里输入文件:-c用该字符的补码替换该字符集在字符串1中设置,必需字符集为ASCII。
-d删除字符串1中的所有输入字符。
-s删除除第一个字符之外的所有重复出现的字符序列;也就是说,将重复出现的字符串压缩为一个字符串。
input-file是转换文件名。
尽管可以使用其他格式进行输入,但这种格式是最常用的。
字符范围指定String1或String2的内容时,只能使用单个字符或字符串范围或列表。
[a-z]由a-z内的字符组成的字符串。
[A-Z]由A-Z字符组成的字符串。
[0-9]数字字符串。
八进制是对应于有效ASCII字符的三位八进制数。
[O*n]表示字符O重复出现指定次数n。
因此[O*2]匹配字符串OO。
tr中特定控制字符的不同表达方式。
简写意义。
八进制模式aCtrl-G铃声07bCtrl-H退格字符10fCtrl-L换页14nCtrl-J换行12rCtrl-M回车15tCtrl-Itab键11vCtrl-X30表达式字符特殊字符串序列String1和String2变量中包含的字符串可以使用以下约定表示:如果在String1中多次指定某个字符,则该字符将转换为String2中与最后一个字符相同的字符字符串1。
与出现的字符对应的字符。
如果String1和String2指定的字符串长度不相同,则tr命令会忽略较长字符串中的多余字符。
标记退出状态。
该命令返回以下退出值:示例:1.将文件file中出现的“abc”替换为“xyz”。
复制代码如下:#catfile|tr"abc""xyz"new_file【注意】这里,任何文件中出现的“a”字母都替换为“x”字母,“b”字母替换为“y”字母和“c”字母被“z”字母替换。
而不是用字符串“xyz”替换字符串“abc”。
2、使用tr命令“统一”大小写字母(小写--大写)。
代码如下:#catfile|tr[a-z][A-Z]new_file(大写--小写)代码如下:#catfile|tr[A-Z][a-z]new_file3。
将文件中的数字0-9替换为a-j。
代码如下:#catfile|tr[0-9][a-j]new_file4。
删除文件file中出现的“Snail”字符代码如下:#catfile|tr-d"Snail"new_file【注】此处,文件file中出现的任何'S'、'n'、'字符a'、'i'、'l'都会被删除!而不是删除出现的“Snail”字符串。
5.删除文件file中出现的换行符“n”和制表符“t”。
代码如下:#catfile|tr-d"nt"new_file不可见字符必须用转义字符表示。
这些都是统一的。

6、删除“连续”的重复字母,只保留第一个代码如下:#catfile|tr-s[a-zA-Z]new_file7。
删除空白代码行如下:#catfile|tr-s"n"new_file8,删除Windows文件“引起”的'^M'字符代码如下:#catfile|tr-d"r"new_file或代码如下如下:#catfile|tr-s"r""n"new_file【注】这里的-s后面跟着两个参数“r”和“n”。
使用后者替换前者9.使用空格符40替换制表符11.代码如下:#catfile|tr-s"11""40"new_file10,将冒号“”放入路径变量中:",将换行符“n”替换为以下代码:#echo$PATH|tr-s":""n"11.要将大括号转换为圆括号,请输入:代码如下:tr'{}''()'textfilenewfile将每个{(左大括号)转换为((左括号),并将每个}(右大括号)转换为)(右括号)12.转换为花括号。
括号转换为方括号,请输入:代码如下:tr'{}''[]'textfilenewfile.这会将每个{(左大括号)转换为[(左方括号),并且每个}(右大括号)转换为](右方括号)。
左方括号中必须输入“”(反斜杠)转义字符。
13.要将小写字符转换为大写,请输入:代码如下:tr'a-z''A-Z'textfilenewfile14.要在文件中创建单词列表,请输入:代码如下:tr-cs'[:lower:][:upper:]''[n*]'textfilenewfile这会将每个字符序列(大写和小写字母除外)转换为单个换行符。
*(星号)使tr命令重复换行符足够多次,以使第二个字符串与第一个字符串一样长。
15.要从文件中删除所有空字符,请输入:代码如下:tr-d''textfilenewfile16.要使用单个换行符替换每个序列中的一个或多个换行符,请输入:代码如下:tr-s'n'textfilenewfile或者代码如下:tr-s'12'textfilenewfile17。
将每个非打印字符(有效控制字符除外)替换为“?”(问号),请输入:代码如下:tr-c'[:print:][:cntrl:]''[?*]'textfilenewfile扫描在不同语言环境中创建的文件,查找无法在该语言环境中打印的字符当前语言环境。
18.要将字符类中的每个字符序列替换为单个“#”字符,请输入:代码如下:tr-s'[:space:]''[#*]'