Linux下查找与替换操作小技巧 (linux查找与替换)

在Linux系统中,查找和替换是一个经常使用的操作。无论是查找文件内容,还是替换关键词,都需要使用到查找替换命令。虽然在Linux系统下查找与替换操作并不复杂,但是有一些小技巧可以帮助我们更快速、更高效地完成这些操作。

一、使用grep命令查找特定字符串

grep命令是一个非常有用的命令,可以用于查找特定字符串。例如,我们可以使用以下命令在文件中查找所有包含“hello”字符串的行:

“`

grep “hello” filename.txt

“`

如果希望忽略字符串的大小写,可以添加-i选项:

“`

grep -i “hello” filename.txt

“`

对于包含多个关键词的查找,可以使用-E选项或者使用管道符“|”连接多个关键词:

“`

grep -E “hello|world” filename.txt

grep “hello” filename.txt | grep “world”

“`

二、使用sed命令替换特定字符串

sed命令是用来编辑文本的强大命令,可以用于替换特定字符串。例如,我们可以使用以下命令将文件中的“hello”替换为“world”:

“`

sed ‘s/hello/world/g’ filename.txt

“`

其中,“s”表示替换命令,“hello”表示要被替换的字符串,“world”表示要替换成的字符串,“g”表示全局替换,即一行中所有符合条件的字符串都将被替换。

三、使用find命令查找特定文件

find命令是Linux系统中用于查找文件的命令。例如,我们可以使用以下命令查找当前目录下所有文件名包含“test”的文件:

“`

find . -name “*test*”

“`

其中,“.”表示当前目录,“-name”表示按照文件名查找,“*test*”表示文件名中包含“test”字符串。如果我们想要在某个指定目录下查找,可以将“.”替换为目录路径即可。

四、使用awk命令进行进一步处理

awk命令是用来处理文本的命令,通常与grep、sed等命令组合使用。例如,我们可以使用以下命令将查找到的字符串进行进一步的处理:

“`

grep “hello” filename.txt | awk ‘{print $1}’

“`

其中,“grep”命令用来查找包含“hello”字符串的行,“awk”命令用于进一步处理查找到的行,其中“$1”表示输出之一个字段。

以上就是Linux下查找和替换操作的小技巧。掌握这些技巧可以帮助我们更加高效地完成文件操作和文本处理。在实际使用中,请根据实际情况进行灵活运用。

相关问题拓展阅读:

Linux之vi命令

vi profile

返回

:q 退出

:wq或者:x或者shift+zz 保存并退出

:q! 不保存并退出

:w 保存

:w! 强制保存

编辑到输入模式:

i 在当前光标前面输入

I 在当前光标所在行的行首,转换为输入模式

a 在当前光标后面输入

A 在当前光标所在行的行尾,转换为输入模式

o 在当前光标所在行的下方,新建一行,并转为输入模式

O 在当前光标所在行的上方,新建一行,并转为输入模式

1、 移动光标

字符:方向键上下唤羡左右或者键和敬拍盘kjhl(上下左右)

单词:w移至下一个单词的词首;e跳至当前或下一个单词的词尾;b跳至当前或前一个单词的词首

行内:0绝对行首;^行首的之一个非空白字符;$绝对行尾

行间:G文章末尾;3G第3行;gg文章开头

翻屏:ctrl f【往后翻】;Ctrl b【往前翻】

2、 删除、替换单个字符

x删除光标位置字符;3x删除光标开始3个字符;r替换光标位置字符

dw删除一个单词;4dw删除光标开始的4个单词;dd删除光标所在行;5dd删稿碰除光标开始的5行

3、复制粘贴剪切

yw复制一个单词,p在该行粘贴单词;yy复制整行,p在该行下方粘贴整行

dd剪切整行,p再粘贴整行;dw剪切一个单词,p再粘贴一个单词

4、 撤销&重做

u:撤销;ctrl+r:重做撤销的操作;.重复上一步的操作【假设先dd,再.,会再执行dd命令】

1、 set设置

set nu

set nonu

set readonly #设置只读文件,不能修改,只在当前环境有效,退出文件,再次打开,这个只读就无效了

set noreadonly #取消只读

2、 /查找

/after查找文档中的after【可以找到所有的after】,n向下翻,N向上翻

:/after查找文档中的after所在行【可以找到所有的after】,n向下翻,N向上翻

3、!执行命令

比如:查找root目录

:!ls /root/

4、 查找并替换

格式

【 :查找范围s/查找的词/要替换的词/ 】

或者【:查找范围s#查找的词#要替换的词# 】

或者【:查找范围s%查找的词%要替换的词%】,

即分隔符可以是/、#、%

其中,

查找范围

包括【.当前光标行】;【$末尾行】;【%全文】;【g一行内全部替换】;【i忽略大小写】

比如

【 :.,$s/after/before/】

表示在当前光标行【.】到末尾【$】这个范围内,将after替换为before,

但是如果一行有多个after的话,只会把之一个after替换掉

比如

【 :%s/after/before/】

表示在全文,将after替换为before,但是如果一行有多个after的话,只会把之一个after替换掉。

比如

【:%s/after/before/g】

,表示在全文,将after替换为before,但是

如果一行有多个after的话,会把该行所有after替换掉,因为在命令里面加了g

比如

【:%s/after/before/gi】

,表示在全文,将after替换为before,且忽略大小写并替换一行内所有after。

比如

【 :%d或者dG】

,表示删除全文

比如

【:1,$-4d】

,表示删除之一行到倒数第5行的数据

比如

【:1,4y】

,表示复制1到4行,再按p可粘贴这4行

linux查找与替换的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux查找与替换,Linux下查找与替换操作小技巧,Linux之vi命令的信息别忘了在本站进行查找喔。


数据运维技术 » Linux下查找与替换操作小技巧 (linux查找与替换)