Linux命令实例练习

一、实验介绍

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相关推荐

  1. 【黑马Python】linux操作命令(2)

    linux操作命令 文件内容命令 cat和more的基本使用和对比 cat命令的-b和-n选项输出行号 grep查找文件内容 grep行首/行尾的模式查找 其他命令 echo和重定向 管道的概念和基本 ...

  2. linux 操作命令汇总

    转载地址:http://blog.chinaunix.net/uid-126438-id-2924435.html 0001 修改主机名(bjchenxu) vi /etc/sysconfig/net ...

  3. linux命令grep如何使用,Linux下如何使用grep搜索文本

    Linux下如何使用grep搜索文本 2018-11-30 一.什么是grep grep是一种文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. grep是几个单词的缩写,g(globa ...

  4. Linux第六周学习总结——进程额管理和进程的创建

    Linux第六周学习总结--进程额管理和进程的创建 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/cour ...

  5. linux中 ls |wc -l

    linux中 ls |wc -l_百度知道 答 205行,205个字,1920个字节,wc -l只输出文件行数 转载于:https://www.cnblogs.com/lvdongjie/p/9795 ...

  6. linux命令grep和find怎么用,Linux下find和grep常用命令及区别介绍

    在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区别的. 区别: (1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空 ...

  7. linux命令ps -aux|grep xxx详解

    linux命令ps -aux|grep xxx详解 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程, 而ps命令(Process Status)就是最基本同时也是非常强大 ...

  8. 传说中的Linux三剑客命令之grep(三剑客老幺)别人只知道了而我却做到了

    传说中的Linux三剑客命令之grep(三剑客老幺)别人只知道了而我却做到了 grep(三剑客老幺) 1.介绍 Given one or more patterns, grep searches in ...

  9. Linux操作命令分类详解 - 用户权限(三)

    转自:Linux操作命令分类详解 - 用户权限(三),更优阅读体验:http://www.kongzid.com/ 目录 系列文章 1.用户账号管理 1.1 useradd/adduser 添加用户账 ...

最新文章

  1. 在Dockerfile中设置G1垃圾回收器参数
  2. 数字图像处理——第四章 频率域滤波
  3. Docker 图形化页面管理工具使用
  4. ubuntu php fpm.conf,ubuntu下nginx+PHP-FPM安装配置
  5. 安装使用大key工具rdb_bigkeys
  6. 水泵怎么做_泳池设备日常怎么维护和保养?
  7. SQL Server 2005中NTEXT与NVARCHAR(MAX)
  8. maven profile多环境动态配置文件使用
  9. 《深度学习》李宏毅 -- task6卷积神经网络
  10. iozone测试文件系统IO性能
  11. 利用Axure制作动态表格(Axure学习日志1)
  12. 五险一金,这篇就够了
  13. realme 制作一键root
  14. 基于51单片机的LED彩灯控制器设计
  15. 用Excel进行个人敏捷项目看板管理
  16. oracle jpg格式导出,格式记RAW,另存或导出就是JPG格式,就这么很简单
  17. Vanish搭建CDN的节点集群
  18. 真题集P110---2018年真题
  19. APT组织BlackEnergy继任者:GreyEnergy,台湾研华公司证书被其盗取
  20. QT QTextEdit富文本插入字体-表格-编号-图片-查找-语法高亮功能

热门文章

  1. windows系统不知道读音如何使用搜狗输入法快速打出生僻字
  2. LTE传输模式tdd mode
  3. Niuke:JZ36.二叉树与双向链表
  4. 分享一款基于51单片机和MCP23017的IO扩展方案
  5. 跨境电商中选择商品规格的示例
  6. 操作系统笔记——进程管理
  7. 最小角回归(Least Angle Regression)
  8. docker安装oracle11g、连接、创建新用户
  9. 一度智信科技:拼多多店铺怎么提升排名?
  10. [从零开始学DeepFaceLab-13]: 使用-命令行八大操作步骤-第6步:模型的选择与训练 - 常见基本问题