shell文本操作
一、find查找命令的使用
1、find . -name "*.txt"
在当前目录下,查找以txt结尾的文件
2、find . -name "[a-z]"
在当前目录下,查找所有以小写字母开头的文件
3、find /etc -name "host*"
在etc目录下,查找以host开头的文件
4、find . -perm 755
在当前目录下,查找属性为755的文件
5、find . -user root
在当前目录下,查找属主为root的文件
6、find . -mtime -5
在当前目录下,查找更改时间在5天之内的文件
7、find . -mtime +3
在当前目录下,查找更改时间在3天之前的文件
8、find . -type d
在当前目录下,查找类型为d的目录
9、find . -type l
在当前目录下,查找类型为l的文件
10、find . -size +1000000c
在当前目录下,查找文件大小在1M以上的文件
11、find . -prem 755 | xargs chmod 770
在当前目录下,找到文件属性为755的,然后将其权限设为770
12、find . -type f | xargs ls -l
在当前目录下,查找出所有的文件,并且显示详细信息
二、正则表达式
1、^linux
以linux开头的行
2、$php
以php结尾的行
3、.
匹配任意个字符
4、.+
匹配任意多个字符
5、.*
匹配0个或多个字符
6、[0-9a-z]
匹配[]里的任意一个字符
7、(linux)+
匹配出现多次linux单词的行
8、(linux){2}
匹配出现2次以上linux单词的行
9、\
只用来屏蔽一个元字符的特殊含义
三、grep搜索命令
1、grep "qq" *
在所有文件中查找含有qq的文件
2、grep -c "file" a
在a文件里查找有多少行匹配到file
3、grep -n "file" a
在a文件里有多少行匹配匹配到file,显示行号和内容
4、grep -i "file" a
在a文件中查找file,并不区分大小写
5、grep -v "file" a
在a文件里查找除了file的行
6、grep -E "2004:22:5[0-9]" a
在a文件中,查找2004:22:50-2004:22:59之间的行
7、grep -E "^[^210]"
在a文件里查找不是以1,2,0开头的行
8、grep -E "h*q" a
在a文件中查找0个或多个h和q的行
9、grep -E "[5-8][6-9][3-0]" a
在a文件中查找大于563,小于890的行
10、grep -E "4{2}" a
在a文件中查找包含两个4的行
11、grep -E "4{2,4}" a
在a文件中查找包含大于等于2,小于等于4的行
12、grep -E "4{2,}" a
在a文件中查找包含两个以上4的行
13、grep -E "^$" a
在a文件中查找空白行
14、grep "?" a
在a文件在查找包含?的行
15、grep -E "^d" a
在a文件中查找以d开头的行
16、grep -E "^[^d]" a
在a文件中查找不是以d开头的行
四、awk编程使用
1、awk "{print $0}" file
列出file文件的每一列
2、awk '{print $1 "\t" $2}' file
列出file文件的第一列和第二列
3、cat file | awk '$0!~/192.168.10.2/' | grep "php" |wc -l
~表示匹配到192.168.10.2的ip地址的统计,!~表示不匹配
五、sed行定位的使用
1、sed -n '2'p file
只打印第二行,不打印其他行
2、sed -n '1,4'p file
打印从第一行到第四行
3、sed -n '/los/'p file
打印匹配到los的行
4、sed -n '4,/los/'p file
打印从第四行到匹配到los的所有行
5、sed '1,2'd file
打印除了第一行和第二行
六、uniq唯一性的使用
1、uniq -c file
打印紧挨着的重复行的次数
2、uniq -d file
只打印重复行
七、sort排序使用
1、sort file
把文件里的内容按照字母的升序排序
2、sort -r file
把文件里的内容按照字母的降序排序
3、cat file|sort -t: -k1 -r
以:分割后的第一列降序排序
八、split文件分割的使用
1、split -2 file spt
生成sptaa sptab等多个文件
把file文件每两行分割为一个文件,文件名的前缀为spt
shell文本操作的更多相关文章
- Shell文本操作-5
- Shell命令之文本操作
前言 在Linux中,文本处理操作是最常见的,应用非常广泛,如果能熟练掌握,可以大大提高开发效率. awk/sed/grep是文本操作领域的“三剑客”,学会了这3个命令就可以应对绝大多数文本处理场景. ...
- linux下的文本操作之 文本查找——grep
摘要:你有没有这样的应用场景:调试一个程序,出现debug的提示信息,现在你需要定位是哪个文件包含了这个debug信息,也就是说,你需要在一个目录下的多个文件(可能包含子目录)中查找某个字符串的位置: ...
- shell文本处理工具总结
shell文本处理工具总结 为了效率,应该熟练的掌握自动化处理相关的知识和技能,能力就表现在做同样的一件事情,可以做的很好的同时,耗时还很短. 再次总结shell文本处理的相关规则,对提高软件调试效率 ...
- Linux Bash文本操作之sed篇其二
上一篇总结了sed的基础应用(Linux Bash文本操作之sed篇其一),内容实在有够多,这里再对稍微高级一些的用法做一个整理,以方便使用时查阅. 查看文本内容 示例1表示在第一到第四行匹配到的行后 ...
- Linux实验:hdfs shell基本命令操作(一)
[实验目的] 1)熟练hdfs shell命令操作 2)理解hdfs shell和linux shell命令 [实验原理] 安装好hadoop环境之后,可以执行hdfs shell命令对hdfs 的空 ...
- Linux命令-文件文本操作grep
文件文本操作 grep 在文件中查找符合正则表达式条件的文本行 cut 截取文件中的特定字段 paste 附加字段 tr 字符转换或压缩 sort 调整文本行的顺序,使其符合特定准则 uniq 找出重 ...
- linux文本操作界面 vi面板如何复制一行
linux文本操作界面 vi面板如何复制一行 1)把光标移动到要复制的行上2)按yy3)把光标移动到要复制的位置4)按p 在vi里如何复制一行中间的几个字符?如果你要从光标处开始复制 4 个字符,则先 ...
- shell脚本操作mysql数据库
shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改.查)等各种操作 mysql -hhostname -Pport -uusername -pp ...
随机推荐
- iOS出现 _OBJC_CLASS_$_ZSHomeServiceDataElementGroupLargeImage", referenced from:以及linker command failed with exit code 1 (use -v to see invocation)的错误分析
先说第一个问题 出现这样的错误我总结的原因有两个,我碰到过的: 1.文件重命名,在你创建文件的时候重名了 2.如果你是在一个类中又创建了一个或者多个类,那么你可能没有实现你写的类,也就是你只是@int ...
- [文文殿下]基本的DP技巧
. 二进制状态压缩动态规划 对于某些情况,如果题目中所给的限制数目比较小,我们可以尝试状态压缩动态规划.例如,题目中给出数据范围\(n<=20\),这个一般情况下是一个状压DP的提示. 状态压缩 ...
- json和csv文件存储
一. json 1:基本概念 1.1 Json和Javascript JSON, 全称JavaScript Object Notation,它通过对象和数组的组合来表示数据.在JavaScript中一 ...
- JMeter PerfMon Metrics Collector性能监控插件
官方文档地址https://jmeter-plugins.org/wiki/PerfMon/ JMeter是一款压力测试工具,我们也可以用它来监控服务器资源使用情况. JMeter正常自带可以通过To ...
- 主机:Think Pad(6475EC7) 64位的Win7上面装CentOS,说VT模式没有被启动,但BIOS里面已经启用了VT-X
我的主机是ThindPad,型号是6475EC7,就是比较老的型号. 启动vmware出现 二进制转换与此平台长模式不兼容.......: 首先:进入BOIS查看VT是否已经开启(不同型号电脑VT选项 ...
- Optional类
参照: 一篇简单使用介绍 官网详细用法介绍 包含各种例子的cheetsheet 一个封装某个value的容器 一般可用于方法返回值类型,提醒调用方,这个值可能为null,所以需要处理(因为空指针异常是 ...
- CSS03--框模型、定位position、浮动
我们接着“CSS02”,继续学习一些新的样式属性. 1.框模型: 规定了元素框处理 元素内容.内边距(padding).边框(border).外边距(margin,可以是负值)的方式 2.内边距 ...
- 接口测试-postman,JMeter与LoadRunner比较
postman是一个谷歌出的轻量级的专门测试接口的小工具~(PS:postman包括两种:Chrome浏览器插件和postman客户端,我使用的是postman客户端)虽然不如firefox的post ...
- CentOS 7 安装程序介绍
(一).引导菜单 使用 UEFI 引导 Install CentOS Linux 7 选择此选项开始在你的计算机系统中使用图形安装程序安装 CentOS 7 Test this media & ...
- PKUWC2019退役记
PKUWC2019 退役记 \(day1\): 进场看T1,发现是个对于所有边的子集求权值和的计数题,以为是个主旋律那样的神仙容斥,完全不会做(退役flag*1).T2是个和虚树有关的计数题,第一个s ...