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的更多相关文章

  1. Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs

    在每个管线后面接的第一个数据必定是『命令』喔!而且这个命令必须要能够接受 standard input 的数据才行,这样的命令才可以是为『管线命令』,例如 less, more, head, tail ...

  2. Linux Bash命令杂记(cut sort uniq wc tee)

    Linux Bash命令杂记(cut sort uniq wc tee) 数据流重定向 标准输入(stdin):代码为0,使用<或<<: 标准输出(stdout):代码为1,使用&g ...

  3. 【android】android 常用adb 和 adb shell 命令

    db是SDK自带的工具,可实现桥接功能:adb shell 可以与手机系统建立交互,是基于andoid Linux系统下的操作 ADB常用命令: 1. 查看设备         adb  device ...

  4. linux命令使用 cut/sort/uniq

    我记得之前去XX网面试的那个面试题是这样的:有个apache.log 文件文本内容如下:======================[niewj@centSvr ~]$ cat apache.log  ...

  5. 将常用的Android adb shell 命令行封装为C#静态函数

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 简介:adb命令是常用的Android命令行,自动化.代码调试.手工排查问题都会用的到,这里将常用的一些命令行封装 ...

  6. 自动化测试系列:将常用的Android adb shell 命令行封装为C#静态函数

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 简介:adb命令是常用的Android命令行,自动化.代码调试.手工排查问题都会用的到,这里将常用的一些命令行封装 ...

  7. 009--test命令和grep作业及Sed作业awk作业和循环结构

    一.test命令 -d :目录                                test  -d  /boot -s :文件长度 > 0.非空            test  - ...

  8. 收集的55个Linux系统管理中常用的一些shell命令

    .显示消耗内存/CPU最多的10个进程 代码如下: | tail | tail .查看进程 按内存从大到小排列 代码如下: ps -e -o "%C : %p : %z : %a" ...

  9. 精选37条强大的常用linux shell命令组合

    任务                             命令组合 1 删除0字节文件 find . -type f -size 0 -exec rm -rf {} \;find . type f ...

随机推荐

  1. junit设计模式--命令者模式

    命令模式的意图 将一个请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化: 对请求排队或记录请求日志,以及支持可撤销的操作: 命令模式告诉我们可以为一个操作生成一个对象并给出它的一个执行方法 ...

  2. 2017 .NET 開發者須知

    筆記-Scott Hanselman 的 2017 .NET 開發者須知 转载http://blog.darkthread.net/post-2017-01-16-dotnet-dev-should- ...

  3. java中的Iterator与增强for循环的效率比较

    最近在优化代码时遇到了这个问题:Iterator与增强for循环到底哪个效率高?之前在学习的时候,好像记着老师说过遍历集合(如list)时,使用iterator好像正规一些,因为是专用的,但是运行效率 ...

  4. android imageview按钮按下动画效果

    private ImageView today_eat: today_eat = (ImageView) view.findViewById(R.id.today_eat); today_eat.se ...

  5. __init__class的简单使用/理解

    # -*- coding: utf-8 -*- class Student(object): def __init__(self, name, score): #通过定义一个特殊的__init__方法 ...

  6. XAML: 自定义控件中事件处理的最佳实践

    在开发 XAML(WPF/UWP) 应用程序中,有时候,我们需要创建自定义控件 (Custom Control) 来满足实际需求.而在自定义控件中,我们一般会用到一些原生的控件(如 Button.Te ...

  7. Tomcat+Servlet面试题都在这里

    下面是我整理下来的Servlet知识点:  图上的知识点都可以在我其他的文章内找到相应内容. Tomcat常见面试题 Tomcat的缺省端口是多少,怎么修改 Tomcat的缺省端口是多少,怎么修改 ...

  8. 小白入门Docker基础篇

    docker是什么 百科上的解释是这样的: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 ...

  9. Oracle-Linux安装配置python3.6环境

    最近公司更换了linux系统的版本,从Ubuntu改为了oracle linux,相关的Python环境也要重新配置,记录一下基本配置的过程. 相关环境 系统:oracle linux7.3 系统自带 ...

  10. gulp最简示例

    全局安装 $ npm gulp -g 作为项目的开发依赖安装 $ npm gulp --save-dev 脚本文件 在根目录创建gulpfile.js文件 const gulp = require(' ...