1:grep命令

使用grep命令可以查找文件内符合条件的字符串

句型:grep【选项】【查找值】【文件名】

-E:是一个可扩充的正则表达式

-F:是一组由断行符分割的定长字符串

-c:只显示匹配行的数目

-i:不分辨大小写

-n:在输出前加上匹配字符串所在行的行号

-v:只显示不匹配字符串的一行

-An:显示匹配行的后n行

-Bn:显示匹配行的前n行

-n:显示匹配行的前n行和后n行

grep-E后可跟正则抒发

grep-n”aa”显示匹配值所在的行

grep-in”ee“不分辨大小写显示匹配值所在的行(默认分辨大小写)

grep-inv”ee”不分辨大小写显示不匹配值所在的行

grep-A2bba.sh显示匹配行的后n行

grep-B2bba.sh显示匹配行的前n行

grep-2bba.sh显示匹配行的前n行和后n行

2:awk命令

awk命令是一种文本处理语言,逐行读取文件内容,默认以空格做分隔符

格式:awk【选项】'BEGIN{命令}pattern{命令}END{命令}'文件

BEGIN:BEGIN后跟的是开始程序代码块,只会执行一次,通常初始化一些参数【可选】

pattern:patternboby部份主体逻辑部份,对每一行数据就会执行一次主体逻辑部份【必选】

END:END后跟的是程序结束代码块linux查找文件名命令,只会执行一次【可选】

-F:用于指定分隔符(awk默认分隔符是空格)

-vvar=value:形参一个用户自定义变量linux下socket编程,将外部变量传递给awk

-f:scriptfile从脚本文件中读取awk命令

awk外置变量

$n:当前记录的第n个数组,n为1表示第一个主键。。。

$0:执行过程中当前行的文本内容

NR:表示记录数,在执行过程中对应于当前的行号

FS:数组分隔符

NF:表示数组数,在执行过程中对应于当前的数组数,print$NF对于一行中最后一个数组

awk'BEGIN{print”序号t姓名”}{printFS:}'awk.txt设置输出的开头

awk-F:'{print$2$NF}'awk.txt,以:为分隔符显示第二个数组显示当前行最后一个值

awk-F:'{print$2}'awk.txt以:分割显示第二个数组

awk-F:'{print$2NF}'awk.txt

awk-F:'{print$2$0}'awk.txt以:分割显示第二个数组并将整行数据显示下来

3:sed命令

sed命令类似一种在线编辑器可以对文件内容进行重定向linux查找文件名命令,和awk一样逐行读取文件内容将读取到的文件内容储存在临时的缓冲区中称为”模式空间“linux操作系统安装,sed命令会处理缓冲区的内容,在将数据输出到屏幕上。主要拿来手动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

格式:sed【选项】‘【动作】’文件

-n:列举经过sed命令处理后的行数据

-v:显示版本

-i:直接更改读取到的内容,不将读取到的数据输出到终端

-e:在命令模式下进行sed编辑

-f:将sed的动作写在一个文件内,可以直接执行文件内的sed动作

sed动作

a:新增a的旁边可以接字符串,而那些字符串会在新的一行出现(目标的下一行)

查找文件名linux_linux查找文件名命令_linux命令行查找文件

c:代替c的旁边可以接字符串,而那些字符串可以取代n1,n2之间的行

d:删掉d前面一般不带任何字符串

i:插入i的旁边可以跟字符串,而那些字符串会在新的一行插入(目标的上一行)与a新增相反

p:复印将某个选项的数据复印下来一般会与参数sed-n一起运行

s:替代,将s旁边跟的字符串代替目标字符串

sed 's/要被取代的字串/新的字串/g' g 标识符表示全局查找替换,使 sed 对文件中所有符合的字符串都被替换,修改后内容会到标准输出,不会修改原文件:

catsed.txt|grep-i”ff”|sed'ahh'查询到ff在他下边新增一条hh

catsed.txt|grep-i”ff”|sed'chh'查询到ff替换成hh

sed'2,5d'sed.txt|cat-n删掉2-5行

catsed.txt|grep-i”ff”|sed'ihh'查询到ff在他里面新增一条hh

sed's/ff/xxxx/'sed.txt将ff替换成xxxx

4:find命令

find命令可以将文件系统内符合条件的文件列下来,可以指定文件名称、类别、时间、大小以及权限等不同信息的组合

句型:find【路径】【选项】'【查找值】'

-name:根据文件名来查询文件

-size:根据文件大小来查找文件

-type:根据文件类型查找文件

5:locate命令

使用locate命令可以通过数据库(/var/lib/mlocate/mlocate.db文件)来查找文件(当日新增的文件查询不到数据库每三天已更新t-1使用sudoupdatedb可以立刻更新数据库),他的速率要比find快

locate[选项][目标文件]

-q:安静模式,不会显示任何错误信息

-r:使用正则表达式作为搜索的条件

-i:不分辨大小写

-c:显示找到的数目

-w:匹配完整的路径名

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复