1、统计文件的行数、单词数、字符数

1)行数:

wc -l file

cat file | wc -l

2)单词数

wc -w file

cat file | wc -w

3)统计字符数

wc -c file

cat file | wc -c

4)不跟任何参数时,三者都打印,打印顺序为行数、单词数、字符数

wc file

hbg@root:~/dl$ wc a.txt
       6  6 36   a.txt

hbg@root:~/dl$ cat a.txt
    apple
    gold
    iron
    orange
    silver
    steel
 hbg@root:~/dl$

5)打印文件中最长一行

wc -L file

2、正则表达式

1) “?”用于匹配单词前后可能出现的空格

例如:要匹配给定文本中的所有单词,可以使用下面的正则表达式:

( ?[a-zA-Z]+ ?)            [a-zA-Z]代表一个字母或者多个字母(a-z 和 A-Z)

2)正则表达式                  描述                    示例

^                              行起始标记                                              ^tux匹配以tux起始的行

$                     行尾标记                                             tux$匹配以tux结尾的行

.              匹配任意一个字符               hack. 匹配hackl和hacki,但是不能匹配hackl2和hacki1,它只能匹配单个字符

[]           匹配包含在[字符]之中的任意一个字符           coo[kl] 匹配cook 或 cool

[^]            匹配除[^字符]之外的任意一个字符        9[^01] 匹配92、93,但是不匹配90和91

[-]             匹配[]中指定范围内的任意一个字符               [1-5]匹配从1~5的任意一个数字

?           匹配之前的项一次货0次                colou?r匹配 color或colour但是不能匹配colouur

+          匹配之前项一次或多次            rollno-9+匹配rollno-99、rollno-9,但是不能匹配rollno-

*                             匹配之前的项0次或多次            co*l 匹配 cl、col、cooool等

()           创建一个用于匹配的子串            ma(tri)?x匹配 max 或 matrix

{n}          匹配之前的项n次                [0-9]{3}匹配任意一位3位数,可以扩展为[0-9][0-9][0-9]

{n,}         之前的项至少需要匹配n次          [0-9]{2,}匹配任意一个两位或更多位的数字

{n,m}       指定之前的项必须匹配的最小次数和最大次数      [0-9]{2,5}匹配一个2位数到5位数之间的任意一个数字

|          交替--匹配 | 两边的任意一项         Oct (1st | 2nd) 匹配Oct 1st或Oct 2nd

\                            转义符可以将上面介绍的特殊字符进行转义         a\.b匹配 a.b,但不能匹配ajb。通过在.之前加上前缀\,从而忽略了.的特殊意义

  

shell脚本学习(五)的更多相关文章

  1. shell脚本学习(五)

    流程控制 先说几个注意的地方 1)注意你是在unix下编程,注意文件的编码如果你发现报错请用notepad++打开,编辑->文档格式转换->点unix,然后再上传运行即可 2)sh的流程控 ...

  2. 转 shell脚本学习指南

    shell脚本学习指南 以下八点不敢说就能成为你shell脚本学习指南de全部,至少可以让你编写出可靠的shell脚本. 1. 指定bashshell 脚本的第一行,#!之后应该是什么?如果拿这个问题 ...

  3. Shell脚本学习指南笔记

    Shell脚本学习指南 作者:Danbo 2015-8-3 脚本编程语言与编译型语言的差异 许多中型.大型的程序都是用编译型语言写的,例如:C.C+.Java等.这类程序只要从源代码(Source C ...

  4. 笔记——shell脚本学习指南

    <shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超 ...

  5. Shell 脚本学习资料搜集

    Shell文档 ChinaUnix上大神“網中人”总结的Shell十三问,强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点.每一问都写得非常精彩.ChinaUnix ...

  6. 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式

    正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...

  7. Shell脚本学习 - 运算符

    继续shell脚本学习.上一篇是基本数据类型和语法的总结,这一篇是运算相关的操作. 运算符 bash不支持简单的数学计算,需要依赖其他命令实现. expr可以代为实现. # 表达式一般这么写 ` + ...

  8. shell脚本学习总结02--数组

    bash同时支持普通数组个关联数组,普通数组只能使用整数作为数组的索引,关联数组可以使用字符串作为数组的索引. 数组的定义方法: 在单行中使用一列值定义一个数组 [root@new ~]# array ...

  9. shell脚本学习之6小时搞定(1)

    shell脚本学习之6小时搞定(1) 简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本. Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把 ...

  10. Shell脚本学习第二课·

    Shell文件包含 shell也可以包含外部脚本,语法格式如下: . filename 或 source filename 例如创建两个shell脚本. 脚本1:test1.sh url = &quo ...

随机推荐

  1. sparksql中行转列

    进入sparksql beeline -u "jdbc:hive2://172.16.12.46:10015" -n spark -p spark -d org.apache.hi ...

  2. 如何使用jconsole(英文)

    http://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html

  3. Webupload + MVC 之上传下载

    最近工作中用到了 MVC 的上传及下载 , 写下感受 本项目中用到的是百度的webuploader <!--引入Jquery--> <script src="~/Conte ...

  4. php常量作用

    PHP常量的特点是: 1.不能通过外部来传递,也就是不能通过get与post还有cookie等方式来传递赋值,所以可以确定是程序执行过程中定义的,非外界变量.2.定义后不能更改,可以防止被篡改. 基于 ...

  5. 第一百二十二节,JavaScript表单处理

    JavaScript表单处理 学习要点: 1.表单介绍 2.文本框脚本 3.选择框脚本 为了分担服务器处理表单的压力,JavaScript提供了一些解决方案,从而大大打破了处处依赖服务器的局面. 一. ...

  6. oracle中关于Oracle Database 11g Express Edition 打不开的问题

    报的错误是http://127.0.0.1:...什么的找不到该文件 如果是127.0.0.1没问题,而且oracle中5个服务没问题,而且oracle可以启动.. 最后的问题是8080端口冲突,如果 ...

  7. Apache php无法开启php_curl

    解决办法: 将php安装目录下的libeay32.dll,libssh2.dll,php5ts.dll,php_curl.dll,ssleay32.dll 复制到system32目录下 在httpd. ...

  8. hdu 4122 Alice's mooncake shop(单调队列)

    题目链接:hdu 4122 Alice's mooncake shop 题意: 有n个订单和可以在m小时内制作月饼 接下来是n个订单的信息:需要在mon月,d日,year年,h小时交付订单r个月饼 接 ...

  9. MySql 安装过程(摘自网络)

    下面的是MySQL安装的图解,用的可执行文件安装的,详细说明了一下! 打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩, 运行“setup.exe”,出现如下界面 ...

  10. <验证码的产生>C语言---验证码的产生和验证

    无论在网页还是软件上登录时候都会遇到验证码的问题,不知道不懂其中奥秘的码友有没有兴趣一起来探讨一下. 其实并没有什么奥秘可言,就是产生随机数,然后让产生的随机数做为字符库(提前做好的数字字母字符串)的 ...