Linux操作命令(六):wc、grep
![](https://static.shiyanlou.com/img/best-study-way.png)
![](https://static.shiyanlou.com/img/labdoc-start.png)
![](https://static.shiyanlou.com/img/labdoc-question.png)
![](https://static.shiyanlou.com/img/labdoc-jiucuo.png)
一、实验介绍
1.1 实验内容
1.2 实验知识点
1.3 实验环境
二、实验步骤
2.1 wc 命令
2.2 grep 命令
2.3 正则表达式与 grep 命令
三、参考链接
Linux操作命令(六)
一、实验介绍
1.1 实验内容
本次实验将介绍 Linux 命令中 wc 和 grep 命令的用法。
1.2 实验知识点
- wc 命令
- grep 命令
- 正则表达式
1.3 实验环境
课程使用的实验环境为 Ubuntu Linux 14.04 64 位版本。实验中会用到程序:
- Xfce终端
二、实验步骤
2.1 wc 命令
wc 命令是一个统计的工具,主要用来显示文件所包含的行、字和字节数。
wc 命令是 word count 的缩写。
(1)命令格式
wc [选项] [文件]
(2)常用参数
参数 | 描述 |
---|---|
-c | 统计字节数 |
-l | 统计行数 |
-m | 统计字符数,这个标志不能与 -c 标志一起使用 |
-w | 统计字数,一个字被定义为由空白、跳格或换行字符分隔的字符串 |
-L | 打印最长行的长度 |
(3)常用范例
例一:统计文件的字节数、行数、字符数,可以使用如下命令:
wc -c c.txt
wc -l c.txt
wc -m c.txt
注意每行结尾的换行符也算一个字符,空格也算一个字符。另外,由于系统采用 UTF-8 编码,所以一个汉字为 3 字节,9 个汉字加上一个换行,一共 28 个字节。
例二:统计文件的字节数、行数、字符数,只打印数字,不打印文件名,可以使用如下命令:
cat c.txt | wc -c
cat c.txt | wc -l
cat c.txt | wc -m
例三:统计/bin 目录下的命令个数,可以使用如下命令:
ls /bin | wc -l
2.2 grep 命令
grep 是个很强大的命令,用来找到文件中的匹配文本,并且能够接受正则表达式和通配符,同时可以用多个 grep 命令选项来生成各种格式的输出。
grep 的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。
grep 可用于 shell 脚本,因为 grep 通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回 0,如果搜索不成功,则返回 1,如果搜索的文件不存在,则返回 2。我们利用这些返回值就可进行一些自动化的文本处理工作。
(1)命令格式
grep [选项] pattern [file]
(2)常用参数
参数 | 描述 |
---|---|
-c | 计算找到 '搜寻字符串'(即 pattern) 的次数 |
-i | 忽略大小写的不同,所以大小写视为相同 |
-n | 输出行号 |
-v | 反向选择,打印不匹配的行 |
-r | 递归搜索 |
--color=auto | 将找到的关键词部分加上颜色显示 |
(3)常用范例
例一:将/etc/passwd 文件中出现 root 的行取出来,关键词部分加上颜色显示,可以使用如下命令:
grep "root" /etc/passwd --color=auto
cat /etc/passwd | grep "root" --color=auto
例二:将/etc/passwd 文件中没有出现 root 和 nologin 的行取出来,可以使用如下命令:
grep -v "root" /etc/passwd | grep -v "nologin"
例三:在当前目录下递归搜索文件中包含 main()的文件,经常用于查找某些函数位于哪些源代码文件中,可以使用如下命令:
grep -r "main()".
2.3 正则表达式与 grep 命令
正则表达式是一种符号表示法,被用来识别文本模式。在某种程度上,它们与匹配文件和路径名的 shell 通配符比较相似,但其规模更大。许多命令行工具和大多数的编程语言都支持正则表达式,以此来帮助解决文本操作问题。
正则表达式元字符由以下字符组成:
^ $ . [ ] { } - ? * + ( ) | \
(1)常用范例
例一:利用 Linux 系统自带的字典查找一个五个字母的单词,第三个字母为 j,最后一个字母为 r ,/usr/share/dict 目录下存放字典文件,可以使用如下命令:
grep '^..j.r$' linux.words
例二:验证固定电话,打印符合条件的电话,固定电话格式基本都是带有 0 的区号+连接符“-”+电话号码,另外还有可能有分机号,区号有 3 位、4 位,电话号码有 7 位和 8 位的,可以使用如下命令:
grep "^0[0-9]{2,3}-[0-9]{7,8}(-[0-9]{3,4})?$" telphone.txt
区号:前面一个 0,后面跟 2-3 位数字 : 0[0-9]{2,3}
电话号码:7-8 位数字: [0-9]{7,8}
分机号:一般都是 3-4 位数字: [0-9]{3,4}
注意执行下面的命令时没有任何匹配输出,这是因为没有加-E 选项,那例一没加为什么可以呢,这是因为 grep 把.当成 shell 通配符,不是正则表达式的元字符。
三、参考链接
本课程部分内容参考博文每天一个Linux命令,感谢作者peida提供的优质教程。
上一节:Linux操作命令(五)下一节:Linux操作命令(七)
Linux操作命令(六):wc、grep相关推荐
- 【黑马Python】linux操作命令(2)
linux操作命令 文件内容命令 cat和more的基本使用和对比 cat命令的-b和-n选项输出行号 grep查找文件内容 grep行首/行尾的模式查找 其他命令 echo和重定向 管道的概念和基本 ...
- linux 操作命令汇总
转载地址:http://blog.chinaunix.net/uid-126438-id-2924435.html 0001 修改主机名(bjchenxu) vi /etc/sysconfig/net ...
- linux命令grep如何使用,Linux下如何使用grep搜索文本
Linux下如何使用grep搜索文本 2018-11-30 一.什么是grep grep是一种文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. grep是几个单词的缩写,g(globa ...
- Linux第六周学习总结——进程额管理和进程的创建
Linux第六周学习总结--进程额管理和进程的创建 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/cour ...
- linux中 ls |wc -l
linux中 ls |wc -l_百度知道 答 205行,205个字,1920个字节,wc -l只输出文件行数 转载于:https://www.cnblogs.com/lvdongjie/p/9795 ...
- linux命令grep和find怎么用,Linux下find和grep常用命令及区别介绍
在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区别的. 区别: (1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空 ...
- linux命令ps -aux|grep xxx详解
linux命令ps -aux|grep xxx详解 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程, 而ps命令(Process Status)就是最基本同时也是非常强大 ...
- 传说中的Linux三剑客命令之grep(三剑客老幺)别人只知道了而我却做到了
传说中的Linux三剑客命令之grep(三剑客老幺)别人只知道了而我却做到了 grep(三剑客老幺) 1.介绍 Given one or more patterns, grep searches in ...
- Linux操作命令分类详解 - 用户权限(三)
转自:Linux操作命令分类详解 - 用户权限(三),更优阅读体验:http://www.kongzid.com/ 目录 系列文章 1.用户账号管理 1.1 useradd/adduser 添加用户账 ...
最新文章
- 在Dockerfile中设置G1垃圾回收器参数
- 数字图像处理——第四章 频率域滤波
- Docker 图形化页面管理工具使用
- ubuntu php fpm.conf,ubuntu下nginx+PHP-FPM安装配置
- 安装使用大key工具rdb_bigkeys
- 水泵怎么做_泳池设备日常怎么维护和保养?
- SQL Server 2005中NTEXT与NVARCHAR(MAX)
- maven profile多环境动态配置文件使用
- 《深度学习》李宏毅 -- task6卷积神经网络
- iozone测试文件系统IO性能
- 利用Axure制作动态表格(Axure学习日志1)
- 五险一金,这篇就够了
- realme 制作一键root
- 基于51单片机的LED彩灯控制器设计
- 用Excel进行个人敏捷项目看板管理
- oracle jpg格式导出,格式记RAW,另存或导出就是JPG格式,就这么很简单
- Vanish搭建CDN的节点集群
- 真题集P110---2018年真题
- APT组织BlackEnergy继任者:GreyEnergy,台湾研华公司证书被其盗取
- QT QTextEdit富文本插入字体-表格-编号-图片-查找-语法高亮功能