正文
linux文本命令行替换 linux常用命令 替换
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
linux服务器文本关键字搜索替换
1、vi命令下linux文本命令行替换的查找和替换
1.1 vi下的查找
/helloEnter :向下查找hello匹配字符串
?helloEnter:向上查找hello匹配字符串
使用linux文本命令行替换了查找命令之后linux文本命令行替换,使用如下两个键快速查找:
n:按照同一方向继续查找
N:按照反方向查找
hello是需要匹配的字符串linux文本命令行替换,例如:
/nameEnter #查找name
/nameEnter #查找name单词(注意前后的空格)
除此之外,hello还可以使用一些特殊字符,包括(/、^、$、*、.),其中前三个这两个是vi与vim通用的,“/”为转义字符。
/^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命令行操作之sed
sed命令行格式linux文本命令行替换:sed [options] 'command' file(s)
options常用选项linux文本命令行替换:
-n或--quiet或——silent:仅显示script处理后linux文本命令行替换的结果;
-e:以选项中linux文本命令行替换的指定的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;
Linux 命令行技巧
ALT快捷键在WIN下Xshell不可用
ctrl + a 光标切换到命令行行首
ctrl + e 光标切换到命令行末尾
ctrl + l 清屏 等同于 clear
ctrl + u 清除剪切光标之前的内容
ctrl + k 清楚剪切光标之后的内容
ctrl + w 清除剪切光标之前的一个word
alt + d 清除剪切光标之后的一个word
ctrl + y 粘贴刚才删除字符
ctrl + h 向行首删除一个字符
ctrl + d 向行尾删除一个字符,空行时等于 exit 和 logout
ctrl + _ 恢复刚操作的命令 xshell无法使用
ctrl + b 光标向行首移动一个字符 ( backwards )
ctrl + f 光标向行尾移动一个字符( forwards )
ctrl + ← 光标向行首移动一个word
ctrl + → 光标向行尾移动一个word
ctrl + r 历史命令中查找 (关键字可用)
ctrl + z 转入后台运行
history 10 显示最近使用过的10个命令
!! 执行前一个命令
! + 字符 执行前一个以“字符”开头的命令
! + Num 执行对应行号的命令
! + ? abc 执行前一个包含abc的命令
! -n 执行n个命令之前的那个命令
!* 调用上一条命令的所有参数
!$ 调用上一条命令的最后一个参数
!-: 调用上一条命令除了最后一个参数的部分
ALT + num + . 调用上一条命令中任意一个部分
!!:gs/$1/$2 替换上一条命令中所有$1为$2
!!:gs^$1^$2 替换上一条命令中第一个$1为$2
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 编辑文本命令
一、vi编辑器有3种基本工作模式
分别是:命令模式、文本输入模式、和末行模式。
第一:命令行模式:
该模式是进入vi编辑器后linux文本命令行替换的默认模式。任何时候linux文本命令行替换,不管用户处于何种模式,按下ESC键即可进入命令模式。在该模式下,用户可以输入vi命令,用户管理自己的文档。此时从键盘上输入的任何字符都被当作编辑命令来解释。若输入的字符是合法的vi命令,则vi在接受用户命令之后完成相应的动作。但需要注意的是,所输入的命令并不回显在屏幕上。若输入的字符不是vi命令,vi会响铃报警。
第二:文本输入模式:
在命令模式下输入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被vi当作文件内容保护起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按ESC键即可。
第三:末行模式:
末行模式也称ex转义模式。在命令模式下,用户按“:”键即可进入末行模式下,此时vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的说明符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令在执行完后,vi自动回到命令模式。如果要从命令模式转换到编辑模式,可以键入a或者i。如果需要从文本模式返回,则按ESC即可。在命令模式下输入“:”即可切换到末行模式,然后输入命令。
实例演示
首先我们使用命令 vi filename 打开一个文件,这个时候进入到的是命令模式
接下来我们按i,然后键盘随便输入写内容。
然后按ESC重新进入到命令模式。
在命令模式的情况下,我们按:,进入到了末行模式。
我们输入wq!,然后回车,强行保存退出。
下次我们再打开对应文件(可用less filename命令打开),即可看到内容已经更改。
补充:
(1)末行模式下:q! 【强制退出不保存】 q【退出不保存】 wq【退出并保存后面也可以加个!】
(2)如果你不想保存直接退出有可以在命令模式下使用“ctrl+z”快捷键或者按住“shift”键,输入两个z即可退出。
更多命令
进入vi的命令:
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename….filename :打开多个文件,依次进行编辑
屏幕翻滚类命令:
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
插入文本类命令:
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行
删除命令:
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本
搜索及替换命令:
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换
撤销回退命令:
u 撤销上一步的操作
Ctrl+r 恢复上一步被撤销的操作
选项设置:
all:列出所有选项设置情况
term:设置终端类型
ignorance:在搜索中忽略大小写
list:显示制表位(Ctrl+I)和行尾标志($)
number:显示行号
report:显示由面向行的命令修改过的数目
terse:显示简短的警告信息
warn:在转到别的文件时若没保存当前文件则显示NO write信息
nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
mesg:允许vi显示其linux文本命令行替换他用户用write写到自己终端上的信息
末行模式命令:
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
:w :保存当前文件
:e filename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:wq:保存并退出
:!command:执行shell命令command
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行
寄存器操作:
“?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
“?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
“?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
“?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。
Linux下的shell编程 如何替换文件中的内容
可以这样做:
方法1:sed -i 's/被替换的内容/要替换成的内容/' file
方法2:sed 's/被替换的内容/要替换成的内容/g' file file.outlinux文本命令行替换;mv file.out file。
扩展资料:
Shell编程的常用技巧:
一、自动补齐:在linux中对于命令或路径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文本命令行替换的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux常用命令 替换、linux文本命令行替换的信息别忘了在本站进行查找喔。