find:*****

查找某个文件夹下的文件:

[root@wuyike ~]# find /root/data -type f

/root/data/c/test.txt

/root/data/a/ddd/fff/test.txt

/root/data/a/test.txt

/root/data/t.txt

/root/data/192.168.60.134-2017-03-10.txt

[root@wuyike ~]# find /root/data -type f -name "*.txt"

/root/data/c/test.txt

/root/data/a/ddd/fff/test.txt

/root/data/a/test.txt

/root/data/t.txt

/root/data/192.168.60.134-2017-03-10.txt

同时查找两种类型的数据:(f:文件  d:目录)

[root@wuyike ~]# find /root/ -type f -o -type d -name "wuyike"

/root/.bash_logout

/root/data/c/test.txt

/root/data/wuyike

/root/data/a/ddd/fff/test.txt

/root/data/a/test.txt

/root/data/t.txt

/root/data/192.168.60.134-2017-03-10.txt

/root/.cshrc

/root/.bashrc

/root/.tcshrc

!取反

[root@wuyike ~]#  find /root/data/ ! -type f    表示找出路径下不是文件的数据

/root/data/

/root/data/c

/root/data/wuyike

/root/data/a

/root/data/a/ddd

/root/data/a/ddd/fff

/root/data/b

sed:*****

[root@wuyike ~]# echo "ddd fff

> 2ddd fff

> 3ddd fff" >wuyike.txt

[root@wuyike ~]# cat wuyike.txt

ddd fff

2ddd fff

3ddd fff

[root@wuyike ~]# sed -n '2p' wuyike.txt

2ddd fff

[root@wuyike ~]# sed -n '1,2p' wuyike.txt

ddd fff

2ddd fff

[root@wuyike ~]# sed -n '1,3p' wuyike.txt

ddd fff

2ddd fff

3ddd fff

[root@wuyike ~]# sed "s#ddd#wuyike#g" wuyike.txt

wuyike fff

2wuyike fff

3wuyike fff

[root@wuyike ~]# cat wuyike.txt

ddd fff

2ddd fff

3ddd fff

[root@wuyike ~]# sed -i "s#ddd#wuyike#g" wuyike.txt

[root@wuyike ~]# cat wuyike.txt

wuyike fff

2wuyike fff

3wuyike fff

[root@wuyike ~]# sed -r 's#(可以用正则表达式匹配)#\1#g' wuyike.txt

-r的作用:一些特殊字符,如(),不用再用\来转义了

-i表示修改文件中的内容,不加-i只是输出s###g中替换的内容

正则表达式:

.代表单个任意字符

*重复前面0个或多个字符

.*表示匹配任意字符

[root@wuyike ~]# sed -r 's#(.*) fff#\1#g' wuyike.txt

wuyike

2wuyike

3wuyike

[root@wuyike ~]# sed -r 's#(.*)fff#\1#g' wuyike.txt

wuyike

2wuyike

3wuyike

[root@wuyike ~]# sed -r 's#(.*)ff#\1#g' wuyike.txt

wuyike f

2wuyike f

3wuyike f

把前面正则表达式匹配的括号内的结果,在后面用\1表示并拿来用:

[root@wuyike ~]# echo "ddd fff

> > 2ddd fff

> > 3ddd fff" >wuyike.txt

[root@wuyike ~]# cat wuyike.txt

ddd fff

> 2ddd fff

> 3ddd fff

[root@wuyike ~]# sed -r 's#(.*) (.*)#\1 \2#g' wuyike.txt

ddd fff

> 2ddd fff

> 3ddd fff

[root@wuyike ~]# sed -r 's#(.*) (.*)#\2 \1#g' wuyike.txt    不懂!

fff ddd

fff > 2ddd

fff > 3ddd

awk:******

[root@wuyike ~]# cat wuyike.txt

ddd fff

> 2ddd fff

> 3ddd fff

[root@wuyike ~]# awk '{print $1}' wuyike.txt

ddd

>

>

[root@wuyike ~]# awk '{print $1 " " $2}' wuyike.txt

ddd fff

> 2ddd

> 3ddd

[root@wuyike ~]# awk '{print $1" "$NF}' wuyike.txt

ddd fff

> fff

> fff

[root@wuyike ~]# awk -F "/" '{print $1" "$NF}' /etc/passwd

root:x:0:0:root: bash

bin:x:1:1:bin: nologin

daemon:x:2:2:daemon: nologin

adm:x:3:4:adm: nologin

lp:x:4:7:lp: nologin

sync:x:5:0:sync: sync

………………略

$NF表示最后一列

-F表示以某分隔符作为分割

[root@wuyike ~]# awk '{if(NR>20&&NR<26) print $0}' /etc/passwd

saslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

keke:x:500:500::/home/keke:/bin/bash

$0表示整行

$NR表示行

grep:*****

[root@wuyike ~]# grep "fff" wuyike.txt

ddd fff

> 2ddd fff

> 3ddd fff

表示列出所有匹配到的行

[root@wuyike ~]# grep -o "fff" wuyike.txt

fff

fff

fff

-o表示只想要匹配到的结果,而不是默认的整行

[root@wuyike ~]# grep -i "FFF" wuyike.txt

ddd fff

> 2ddd fff

> 3ddd fff

-i表示不区分大小写

[root@wuyike ~]# grep -v "FFF" wuyike.txt

ddd fff

> 2ddd fff

> 3ddd fff

-i表示不区分大小写

[root@wuyike ~]# grep -v "fff" wuyike.txt

-v表示排除匹配到的行,由于每行都有"fff",所以无输出

[root@wuyike ~]# grep -E "3306|1521" /etc/services

mysql           3306/tcp                        # MySQL

mysql           3306/udp                        # MySQL

ncube-lm        1521/tcp                # nCube License Manager

ncube-lm        1521/udp                # nCube License Manager

-E表示匹配多个字符串,并列出所有匹配的行

[root@wuyike ~]# grep "1521" -A 5 /etc/services

ncube-lm        1521/tcp                # nCube License Manager

ncube-lm        1521/udp                # nCube License Manager

ricardo-lm      1522/tcp                # Ricardo North America License Manager

ricardo-lm      1522/udp                # Ricardo North America License Manager

cichild-lm      1523/tcp                # cichild

cichild-lm      1523/udp                # cichild

pdap-np         1526/tcp                # Prospero Data Access Prot non-priv

-A:后5行

-B:前5行

-C:前后5行

-n:在行首显示行号

-o:与正则表达式相结合,仅显示出匹配的内容

转载于:https://blog.51cto.com/11815879/1914684

find、sed、awk、grep命令总结相关推荐

  1. linux日志查看面试题,Linux 运维面试题 三剑客(sed awk grep)整理

    一. 三剑客-基础部分题目 1. 选择 1.在给定文件中查找与条件相符字符串的命令及查找某个目录下相应文件的命令为:(多选)(AC)A:grep B:gzip C:find D:sort 2.在给定文 ...

  2. sed,awk,grep,trap,trap,cut,tr,curl,find

    ^ 行首定位符 ^love 匹配所有以love开头的行 $  行尾定位符 love$  匹配所有以love结尾的行 .  单个任意字符 l..e  匹配以l开始后跟两个字符再跟一个e的字符串 *  重 ...

  3. sed,awk,grep学习笔记

    1.显示/etc/passwd 文件中以bash结尾的行. cat /etc/passwd | grepbash$ 2.显示/etc/passwd文件中的两们或三位数(例如:99,100) grep ...

  4. 正则表达式与扩展正则表达式(grep, sed, awk)

    Linux中用来在文件中搜索字符串的命令,如grep, sed, awk等命令支持正则表达式与扩展正则表达式. 1. 基础正则表达式 符号 解释 示例 * 匹配0次或多次 b.*t . 匹配任意字符 ...

  5. sed是linux命令吗,Linux命令 sed

    一. 以行为单位进行操作. d:删除 $ nl passwd | sed '2,5d'  # 删除第2~5行 $ nl passwd | sed '2d'  # 删除第2行 $ nl passwd | ...

  6. linux 文本编辑命令grep sed awk

    grep grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具 ...

  7. 正则表达式(grep命令,egrep命令,sed命令,awk命令,sort工具,uniq工具)

    文章目录 正则表达式 基础正则表达式:grep命令 查找行首"^"与行尾字符"$ 查找连续字符范围{} 元字符总结 正则表达式总结 扩展正则表达式 egrep命令 sed ...

  8. 对文件指定行进行编辑和保存 linux,linux 文本编辑命令grep sed awk(转)

    [:digit:] 数字字符[:graph:] 非空字符(非空格.控制字符)[:lower:] 小写字符[:cntrl:] 控制字符[:print:] 非空字符(包括空格)[:punct:] 标点符号 ...

  9. Linux中正则表达式与文件格式化处理命令(awk/grep/sed)

    一.正则表达式 1.1国际字符模式匹配或匹配模式的类名 [:alnum:] : 0-9,A-Z,a-z [:alpha:] : A-Z,a-z [:upper:] : A-Z [:lower:] : ...

  10. Linux三剑客命令详解(grep sed awk )

    下面所说的是Linux中最重要的三个命令在业界被称为"三剑客",它们是awk,sed,grep. 我们现在知道Linux下一切皆文件,对Linux的操作就是对文件的处理,那么怎么能 ...

最新文章

  1. Linux进程描述符task_struct结构体简析
  2. 一个云本地文件包含漏洞,影响世界一流公司
  3. html 判断页面支持canvas,HTML5 Canvas之测试浏览器是否支持Canvas的方法
  4. Hadoop学习很好的书籍,理论和代码都有
  5. fragment in UI5 Smart Template and directive in Angular
  6. mysql redis hbase_MySQL之基本介绍
  7. 如何在博客内添加音乐
  8. 【Oracle 数据迁移】环境oracle 11gR2,exp无法导出空表的表结构【转载】
  9. 系统的延时与定时任务
  10. python黑白棋 pygame_python使用minimax算法实现五子棋
  11. 电信系统服务器地址,中国电信专线dns服务器地址!DNS
  12. 打开ps显示计算机内存不足怎么办,如何解决PS内存不足的问题
  13. Android屏幕密度计算公式
  14. sql 查询及格率优秀率
  15. 千学计算机在线计算,压力单位在线换算
  16. Win11系统电脑硬盘分区方法教程
  17. 数据结构与算法基础学习(一)
  18. 【linux】web服务器
  19. CAN总线(二)——CAN2.0标准与协议分析
  20. jetson agx xavier 支持蓝牙耳机

热门文章

  1. springBoot 在线心理咨询管理系统
  2. 文本数据分析——主题提取+词向量化
  3. 如何写好和创作经济学论文?
  4. 开发完成的springboot项目扩展 swagger
  5. 「LibreOJ β Round #2」计算几何瞎暴力
  6. Codeforces Round #545 B. Circus
  7. Unknown lifecycle phase mvn
  8. PAT 1025 反转链表 (25)(STL-map+思路+测试点分析)
  9. Xshell6和Xftp下载地址,rzsz的使用
  10. SpringBoot05 数据操作01 - JPA的基本使用、基本使用02