几个常用的文本处理shell 命令:find、grep、sort、uniq、sed、awk
find 文件查找
查找txt和pdf文件
find . \( -name "*.txt" -o -name "*.pdf" \) -print
查找所有字母开头的文件
find . -name "[a-a]*"
否定参数->查找所有非txt文本
find . ! -name "*.txt" -print
指定搜索深度->打印出当前目录的文件(深度为1)
find . -maxdepth 1 -type f
正则方式查找.txt和pdf
find . -regex ".*\(\.txt|\.pdf\)$"
-iregex: 忽略大小写的正则
查找目录下属性为755的文件
find . -prem 755
查找所属主为root的文件
find -user root
寻找大于2k的文件
find . -type f -size +2k
找到文件后续动作
删除当前目录下所有的avi文件
find . -type f -name "*.avi" -delete
执行动作(强大的exec)
find . -type f -user root -exec chown root {} \; //将当前目录下的所有权变更为root
grep 文本搜索
在file文件中过滤掉字符串'str'所在的行
grep -v "str" file
在file文件中查找时间在2017:22:50~2017:22:59所在的行
grep -E "2017:22:5[0-9]" file
在file文件中查找不包括360的行
grep -E "^[^360]" file
在file文件中查找包括w和t的行
grep -E "w*t" file
在file文件中查找大于560小于893的行
grep -E "[5-8][6-9][0-3]"
在file文件中查找包含两个9的行
grep -E "9{2}" file
查找大于两个9的行
grep -E "9{2,}" file
查找file文件中的空行
grep -E "^$" file
查找包括?的行
grep "?" file
查找文件中以w开头的行
grep -E "^w" file
查找文件中不是以w开头的行
grep -E "^[^w]" file
awk 数据流处理工具
查找出日志文件中的每一列
awk '{print $0}' log.log
查找出文件中的第一列和第七列
awk '{print %$1 "\t"$7}' log.log
~匹配192.168.10.2的ip地址统计。!~为不匹配
cat file | awk '$0 !~ /192.168.10.2/' | grep 'php' |wc -|
sed 行定位
只打印第二行,不打印其它行的数据
sed -n '2'p file
从第一行到第九行的记录
sed -n '1,9'p file
打印匹配php的行
sed -n '/php/p file
打印从第九行到匹配php的之间所有行
sed -n '9,/php/'p file
把第一行和第二行全部删除(非文件删除)
sed '1,2'd file
Uniq行定位的使用
打印紧挨的重复行出现的次数
uniq -c file
只打印重复的行
uniq -d file
把apache网站的所有访问ip统计出来,并打印统计次数
awk '{print $1}' /var/log/httpd/access_log | sort | uniq -c
sort排序的使用
把文件喊字母的圣墟进行排序
sort file
把文件按照字母的降序进行排序
sort -r file
为进行分割后的第一列来排序
cat file | sort -t: -k1 -r
几个常用的文本处理shell 命令:find、grep、sort、uniq、sed、awk的更多相关文章
- Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs
在每个管线后面接的第一个数据必定是『命令』喔!而且这个命令必须要能够接受 standard input 的数据才行,这样的命令才可以是为『管线命令』,例如 less, more, head, tail ...
- Linux Bash命令杂记(cut sort uniq wc tee)
Linux Bash命令杂记(cut sort uniq wc tee) 数据流重定向 标准输入(stdin):代码为0,使用<或<<: 标准输出(stdout):代码为1,使用&g ...
- 【android】android 常用adb 和 adb shell 命令
db是SDK自带的工具,可实现桥接功能:adb shell 可以与手机系统建立交互,是基于andoid Linux系统下的操作 ADB常用命令: 1. 查看设备 adb device ...
- linux命令使用 cut/sort/uniq
我记得之前去XX网面试的那个面试题是这样的:有个apache.log 文件文本内容如下:======================[niewj@centSvr ~]$ cat apache.log ...
- 将常用的Android adb shell 命令行封装为C#静态函数
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 简介:adb命令是常用的Android命令行,自动化.代码调试.手工排查问题都会用的到,这里将常用的一些命令行封装 ...
- 自动化测试系列:将常用的Android adb shell 命令行封装为C#静态函数
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 简介:adb命令是常用的Android命令行,自动化.代码调试.手工排查问题都会用的到,这里将常用的一些命令行封装 ...
- 009--test命令和grep作业及Sed作业awk作业和循环结构
一.test命令 -d :目录 test -d /boot -s :文件长度 > 0.非空 test - ...
- 收集的55个Linux系统管理中常用的一些shell命令
.显示消耗内存/CPU最多的10个进程 代码如下: | tail | tail .查看进程 按内存从大到小排列 代码如下: ps -e -o "%C : %p : %z : %a" ...
- 精选37条强大的常用linux shell命令组合
任务 命令组合 1 删除0字节文件 find . -type f -size 0 -exec rm -rf {} \;find . type f ...
随机推荐
- eclipse启动报错the catalog could not be loaded please ensure that you have network access and if needed have configured your network proxy
搜索关键词不对在网上查了一圈没找到合适的解决办法 去看报错的日志文件 然并卵.不过下面有个config.ini,想着以前能用现在不能用,肯定是配置问题,打开该文件 转载请注明出处http://www. ...
- 转载-Linux Shell 数组建立及使用技巧
转载自:http://www.cnblogs.com/chengmo/archive/2010/09/30/1839632.html 如侵犯版权,请联系我删除 linux shell在编程方面比win ...
- $.ajax()实现简单计算器
1.html页面 a.html <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
- Android开发模板代码(二)——为ImageView设置图片,退出后能保存ImageView的状态
接着之前的那个从图库选择图片,设置到ImageView中去,但是,我发现了一个问题,就是再次进入的时候ImageView是恢复到了默认状态,搜索了资料许久之后,终于是发现了解决方法,使用SharePr ...
- 八大排序算法Java实现
本文对常见的排序算法进行了总结. 常见排序算法如下: 直接插入排序 希尔排序 简单选择排序 堆排序 冒泡排序 快速排序 归并排序 基数排序 它们都属于内部排序,也就是只考虑数据量较小仅需要使用内存的排 ...
- vs2012编译在win7 32位电脑和win xp电脑上运行的win32程序遇到的问题记录
一.win7 32位电脑: vs2012编译的64位程序是没有问题的.但编译的32位程序在别的电脑(虚拟机模拟)出错: 感觉很无语,vs这么牛逼的东西,在设计时候都不考虑这些吗? 在自己电脑C:\Wi ...
- Python之Django rest_Framework(2)
实例化: v1 = ["view.xxx.path.Role","view.xxx.path.Group",] 可以循环,循环出来的每一个不能实例化 如果把v1 ...
- js实现点击切换显示隐藏,点击其它位置再隐藏
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- linux内核链表的使用
linux内核链表:链表通常包括两个域:数据域和指针域.struct list_head{struct list_head *next,*prev;};include/linux/list.h中实现了 ...
- SSM项目手动分页详解
环境:idea+mysql 首先,既然是mysql,那肯定会用到limit,用这个分页的确很方便. 第一步,编写sql语句 <select id="selectImages" ...