管道符 |

前面的输出作为后面的输入

grep 可以理解为正则表达式

grep [参数] 文件名
-c 打印符合要求的行数
-v 打印不符合要求的行
-n 在输出符合要求的行的同时连同行号一起输出
-i 忽略大小写
[0-9]
^
grep -c 'root' /etc/passwd
grep -nv 'root' /etc/passwd
grep '[0-9]' 文件名
grep '^#' -v test.py
yhq@yhq-virtual-machine:~$ grep 'r..o' /etc/passwd
systemd-resolve:x:102:104:systemd Resolver,,,:/run/systemd/resolve:/bin/false
kernoops:x:116:65534:Kernel Oops Tracking Daemon,,,:/:/bin/false
grep 'o{2}' /etc/passwd #匹配出现2次 o 的

wc 文件内容的统计

-l 统计你有多少行
-w 统计有多少个单词 yhq@yhq-virtual-machine:~$ cat /etc/passwd | wc -l #统计有多少个用户
46

awk 流式编辑器 针对文档的行去操作 一行一行的去执行

yhq@yhq-virtual-machine:~$ head -n 2 /etc/passwd | awk -F ':' '{print $1 $7}'
root/bin/bash
daemon/usr/sbin/nologin -F 指定分隔符
$0 代表所有的列
$1 代表 第一列 yhq@yhq-virtual-machine:~$ head -n 2 /etc/passwd | awk -F ':' '{print $1"~"$7}' 指定字符串连接符 一定要双引号
root~/bin/bash
daemon~/usr/sbin/nologi awk /root/ /etc/passwd #匹配root
awk -F ':' '$1 ~/root/' /etc/passwd #匹配第一列式root 的 那一行 awk -F ':' '$3==0' /etc/passwd #匹配第三列等于0的哪一行 awk -F ':' '$7!="/usr/sbin/nologin"' /etc/passwd awk -F ':' '$3 < $4' /etc/passwd awk -F ':' '$3 > 100 || $7 == "/usr/sbin/nologin"' /etc/passwd
awk -F ':' '$3 > 5 && $3 < 7' /etc/passwd
awk -F ":" '{(total=total+$3)};END{print total}' /etc/passwd #对所有行第三列求和
head -n 3 /etc/passwd | awk -F ':' '$1 == "root"'

uniq unique 删除重复的行 跟sort 命令 组合使用

sort -n -t ":" -k 1 | uniq -c

-c 在每行前面加上出现的次数
-d 只输出重复的行 多行只输出一行
-D 只输出重复的行 多行有几行输出几行
-i 忽略大小写 yhq@yhq-virtual-machine:~$ sort test.txt | uniq -c
1 apple
2 banana
1 caomei
1 huaguang
1 juhua
1 orange
yhq@yhq-virtual-machine:~$ sort test.txt | uniq -d
banana
yhq@yhq-virtual-machine:~$ sort test.txt | uniq -D
banana
banana

sort 排序 默认按照首字母排序

-n 按照数值排序
-t 指定分割符
-k 指定第几列
-r 逆向排序 cat /etc/passwd | sort -n -t ":" -k 3 -r 按照 :分割符 指定第三列 纯数值排序 逆向排序

面试题 : 查找你最常使用的10条命令

 history |awk '{print $2}'| sort |uniq -c|sort -n -k 1 -r|head -n 10

Linux基础第六课——grep|awk|sort|uniq的更多相关文章

  1. [linux] grep awk sort uniq学习

    grep的-A-B-选项详解grep能找出带有关键字的行,但是工作中有时需要找出该行前后的行,下面是解释1. grep -A1 keyword filename找出filename中带有keyword ...

  2. Linux基础之基本命令cat less more sort uniq alias 命令行 bash简单描述(三)

    获取Linux当前最新的内核版本号经常关注www.kernel.org 目录管理:ls cd pwd mkdir rmdir tree 文件管理:touch stat file rm cp mv na ...

  3. 线上问题debug过程(cat,grep,tr,awk,sort,uniq,comm等工具的综合使用)

    问题:发现线上到货单的数量,小于实际到货的数量. 怀疑一些隐藏的条件,将部分唯一码进行了过滤,导致数量变少. 开展了如下的跟踪流程: 1.找到其中一个明细的唯一码 grep 6180e-4b09f p ...

  4. linux awk,sort,uniq,wc,cut命令详解

    1.awk awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 $ 表示当前行 $ 表示第一列 NF 表示一共有多少列 $NF 表示最 ...

  5. Linux基础之-正则表达式(grep,sed,awk)

    一. 正则表达式 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式是对字符串操作的一种逻辑公 ...

  6. 【Linux】linux中文本操作利器grep,awk,sed

    grep命令 grep(global search regular expression)是一种强大的文本搜索工具,它可以使用正则表达式搜索文本,并把匹配的行打印出来.平时搜索文本中内容的时候是非常方 ...

  7. 【Linux】日志分析工具grep sed sort

    遇到一个问题,在查询日志时发现,服务器上打印的文件有很多个,每个都存储了一部分日志, 需要将日志按照时间排序,并显示所有日志. 原命令: grep -h  searchContent */*log 搜 ...

  8. Linux基础第四课——文件操作

    文件的创建 touch sudo touch 文件1 文件2 文件3 #支持批量创建文件 sudo rm -f 文件1 文件2 文件3 #支持批量创建 也支持批量删除 echo '谁动谁输,对不起我输 ...

  9. linux基础-第六单元 用户、群组和权限

    用户及passwd文件 /etc/passwd文件的功能 /etc/passwd文件每个字段的具体含义 shadow文件 /etc/shadow文件的功能 /etc/shadow文件每个字段的具体含义 ...

随机推荐

  1. SQL优化原则(转)

    一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统 ...

  2. idea集成uglifyjs2

    项目中可能会多次修改某些*.js文件,但是引用的是*.min.js, 所以需要再改完源码后生成压缩的min.js uglifyjs是个不错的工具,但是单独用略显麻烦,如果能整合到idea就好了.正好i ...

  3. [SHOI2006] 有色图

    Description 给一张 \(n\) 个点的无向完全图,同时还有 \(m\) 种颜色.要求给每条边染色,问有多少种不同的染色方案.两种方案不同当且仅当顶点标号任意重排后不同.\(n\leq 53 ...

  4. centos7指定yum安装软件路径

    网上的命令都是垃圾 yum -c /etc/yum.conf --installroot=/opt/all_venv/ --releasever=/ install nginx 该命令简单解释如下: ...

  5. MVC架构介绍-序列化属性

    实例产品基于asp.net mvc 5.0框架,源码下载地址:http://www.jinhusns.com/Products/Download 在设计时,如果能够预测到一些实体可能在后续的研发(或二 ...

  6. java-上转型对象&抽象类-学习记录

    上转型对象: 如果B类是A类的子类(或间接子类),当用子类创建对象b并将这个对象的引用放到父类对象a中时,如: A a; a = new b() 或 A a;B b = new B();a = b; ...

  7. 初学CSS-4-文字颜色属性

    { color : red ; color : rgb(255,0,0); (红,绿,蓝)值越大,越亮 color : rgba(255,0,0,1);   第四位数字:透明度(0~1),值越小越透明 ...

  8. CSS3景深-perspective

    3D视图正方体: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  9. 一款超级炫酷的编辑代码的插件 Power Mode

    今天偶尔发现了一款比较炫酷的插件,想让你们看看效果 打代码的时候会有非常炫酷的效果哟 因为我用的编辑器是VScode,所以我也只搞了搞VSCode中使用Power Mode的方法,如果你用的是别的编辑 ...

  10. Related concepts of testing

    根据是否知道源代码测试可以分为黑盒和白盒. 黑盒:功能测试. 白盒:知道源代码,要写测试代码. 根据测试的粒度. 方法测试: 单元测试: 集成测试: 系统测试: 根据测试的暴力程度. 压力测试:谷歌工 ...