find、sed、awk、grep命令总结
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命令总结相关推荐
- linux日志查看面试题,Linux 运维面试题 三剑客(sed awk grep)整理
一. 三剑客-基础部分题目 1. 选择 1.在给定文件中查找与条件相符字符串的命令及查找某个目录下相应文件的命令为:(多选)(AC)A:grep B:gzip C:find D:sort 2.在给定文 ...
- sed,awk,grep,trap,trap,cut,tr,curl,find
^ 行首定位符 ^love 匹配所有以love开头的行 $ 行尾定位符 love$ 匹配所有以love结尾的行 . 单个任意字符 l..e 匹配以l开始后跟两个字符再跟一个e的字符串 * 重 ...
- sed,awk,grep学习笔记
1.显示/etc/passwd 文件中以bash结尾的行. cat /etc/passwd | grepbash$ 2.显示/etc/passwd文件中的两们或三位数(例如:99,100) grep ...
- 正则表达式与扩展正则表达式(grep, sed, awk)
Linux中用来在文件中搜索字符串的命令,如grep, sed, awk等命令支持正则表达式与扩展正则表达式. 1. 基础正则表达式 符号 解释 示例 * 匹配0次或多次 b.*t . 匹配任意字符 ...
- sed是linux命令吗,Linux命令 sed
一. 以行为单位进行操作. d:删除 $ nl passwd | sed '2,5d' # 删除第2~5行 $ nl passwd | sed '2d' # 删除第2行 $ nl passwd | ...
- linux 文本编辑命令grep sed awk
grep grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具 ...
- 正则表达式(grep命令,egrep命令,sed命令,awk命令,sort工具,uniq工具)
文章目录 正则表达式 基础正则表达式:grep命令 查找行首"^"与行尾字符"$ 查找连续字符范围{} 元字符总结 正则表达式总结 扩展正则表达式 egrep命令 sed ...
- 对文件指定行进行编辑和保存 linux,linux 文本编辑命令grep sed awk(转)
[:digit:] 数字字符[:graph:] 非空字符(非空格.控制字符)[:lower:] 小写字符[:cntrl:] 控制字符[:print:] 非空字符(包括空格)[:punct:] 标点符号 ...
- Linux中正则表达式与文件格式化处理命令(awk/grep/sed)
一.正则表达式 1.1国际字符模式匹配或匹配模式的类名 [:alnum:] : 0-9,A-Z,a-z [:alpha:] : A-Z,a-z [:upper:] : A-Z [:lower:] : ...
- Linux三剑客命令详解(grep sed awk )
下面所说的是Linux中最重要的三个命令在业界被称为"三剑客",它们是awk,sed,grep. 我们现在知道Linux下一切皆文件,对Linux的操作就是对文件的处理,那么怎么能 ...
最新文章
- Linux进程描述符task_struct结构体简析
- 一个云本地文件包含漏洞,影响世界一流公司
- html 判断页面支持canvas,HTML5 Canvas之测试浏览器是否支持Canvas的方法
- Hadoop学习很好的书籍,理论和代码都有
- fragment in UI5 Smart Template and directive in Angular
- mysql redis hbase_MySQL之基本介绍
- 如何在博客内添加音乐
- 【Oracle 数据迁移】环境oracle 11gR2,exp无法导出空表的表结构【转载】
- 系统的延时与定时任务
- python黑白棋 pygame_python使用minimax算法实现五子棋
- 电信系统服务器地址,中国电信专线dns服务器地址!DNS
- 打开ps显示计算机内存不足怎么办,如何解决PS内存不足的问题
- Android屏幕密度计算公式
- sql 查询及格率优秀率
- 千学计算机在线计算,压力单位在线换算
- Win11系统电脑硬盘分区方法教程
- 数据结构与算法基础学习(一)
- 【linux】web服务器
- CAN总线(二)——CAN2.0标准与协议分析
- jetson agx xavier 支持蓝牙耳机
热门文章
- springBoot 在线心理咨询管理系统
- 文本数据分析——主题提取+词向量化
- 如何写好和创作经济学论文?
- 开发完成的springboot项目扩展 swagger
- 「LibreOJ β Round #2」计算几何瞎暴力
- Codeforces Round #545 B. Circus
- Unknown lifecycle phase mvn
- PAT 1025 反转链表 (25)(STL-map+思路+测试点分析)
- Xshell6和Xftp下载地址,rzsz的使用
- SpringBoot05 数据操作01 - JPA的基本使用、基本使用02