Linux基础第六课——grep|awk|sort|uniq
管道符 |
前面的输出作为后面的输入
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的更多相关文章
- [linux] grep awk sort uniq学习
grep的-A-B-选项详解grep能找出带有关键字的行,但是工作中有时需要找出该行前后的行,下面是解释1. grep -A1 keyword filename找出filename中带有keyword ...
- 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 ...
- 线上问题debug过程(cat,grep,tr,awk,sort,uniq,comm等工具的综合使用)
问题:发现线上到货单的数量,小于实际到货的数量. 怀疑一些隐藏的条件,将部分唯一码进行了过滤,导致数量变少. 开展了如下的跟踪流程: 1.找到其中一个明细的唯一码 grep 6180e-4b09f p ...
- linux awk,sort,uniq,wc,cut命令详解
1.awk awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 $ 表示当前行 $ 表示第一列 NF 表示一共有多少列 $NF 表示最 ...
- Linux基础之-正则表达式(grep,sed,awk)
一. 正则表达式 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式是对字符串操作的一种逻辑公 ...
- 【Linux】linux中文本操作利器grep,awk,sed
grep命令 grep(global search regular expression)是一种强大的文本搜索工具,它可以使用正则表达式搜索文本,并把匹配的行打印出来.平时搜索文本中内容的时候是非常方 ...
- 【Linux】日志分析工具grep sed sort
遇到一个问题,在查询日志时发现,服务器上打印的文件有很多个,每个都存储了一部分日志, 需要将日志按照时间排序,并显示所有日志. 原命令: grep -h searchContent */*log 搜 ...
- Linux基础第四课——文件操作
文件的创建 touch sudo touch 文件1 文件2 文件3 #支持批量创建文件 sudo rm -f 文件1 文件2 文件3 #支持批量创建 也支持批量删除 echo '谁动谁输,对不起我输 ...
- linux基础-第六单元 用户、群组和权限
用户及passwd文件 /etc/passwd文件的功能 /etc/passwd文件每个字段的具体含义 shadow文件 /etc/shadow文件的功能 /etc/shadow文件每个字段的具体含义 ...
随机推荐
- Vue2.5开发去哪儿网App 详情页面开发
一,banner 图的设计 1. 新建detail的路由 import Detail from '@/pages/detail/Detail' ...... { path: '/detail', na ...
- 再会,OI
现在时间是一八年的七月二十一日下午,NOI2018 闭幕式已经结束.嗯,结束了... 谢绝了李总的好意也没有让父母来接,有段路还是要自己一个人走的... 总结一下 NOI ...其实也没有什么好总结的 ...
- VB.NET语法小结
本人精通C#编程,VB没有开发经验,项目维护需要,特意整理了下VB语法,进行恶补.编程思想都是互通的,都是微软生的,语言大同小异. Imports System 一.(1)定义一个变量,并且初始化. ...
- [PHP] 算法-根据前序和中序遍历结果重建二叉树的PHP实现
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5 ...
- 【Java基础】1、java中的instanceof
instanceof是Java.php的一个二元操作符(运算符),和==,>,<是同一类东西.由于它是由字母组成的,所以也是Java的保留关键字.它的作用是判断其左边对象是否为其右边类的实 ...
- 设计模式之适配器模式(Adapter)(6)
简介 在实际的开发过程中,由于应用环境的变化(例如使用语言的变化),我们需要的实现在新的环境中没有现存对象可以满足,但是其他环境却存在这样现存的对象.那么如果将“将现存的对象”在新的环境中进行调用呢? ...
- Python sys 模块
import sys # 把命令行参数返回一个 List,第一个元素是程序本身的路径 print(sys.argv) # 命令行运行 python3 sys_model.py klvchen hell ...
- 【工具相关】Web-将网站放在XAMPP上面
一,将XAMPP服务器打开--->Welcome--->Open Application Folder. 二,会出现如下所示界面.找到htdocs. 三,打开htdocs.如下图所示. 四 ...
- 【读书笔记】iOS-Interface Builder
IBOutlet或IBAction符号对编译不产生任何影响,它们只是标记,用于告诉Xcode这些对象可以和UI控件进行关联,以便于在编辑Interface Builder上的UI控件的时候Xcode可 ...
- Oracle 关闭数据库(未使用Oracle Restart)
Oracle关闭数据库(未使用Oracle Restart) by:授客 QQ:1033553122 SHUTDOWN [选项] 选项说明: NORMAL-语句执行后,不允许创建新的连接:等待所有当前 ...