shell脚本学习(五)
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脚本学习(五)的更多相关文章
- shell脚本学习(五)
流程控制 先说几个注意的地方 1)注意你是在unix下编程,注意文件的编码如果你发现报错请用notepad++打开,编辑->文档格式转换->点unix,然后再上传运行即可 2)sh的流程控 ...
- 转 shell脚本学习指南
shell脚本学习指南 以下八点不敢说就能成为你shell脚本学习指南de全部,至少可以让你编写出可靠的shell脚本. 1. 指定bashshell 脚本的第一行,#!之后应该是什么?如果拿这个问题 ...
- Shell脚本学习指南笔记
Shell脚本学习指南 作者:Danbo 2015-8-3 脚本编程语言与编译型语言的差异 许多中型.大型的程序都是用编译型语言写的,例如:C.C+.Java等.这类程序只要从源代码(Source C ...
- 笔记——shell脚本学习指南
<shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超 ...
- Shell 脚本学习资料搜集
Shell文档 ChinaUnix上大神“網中人”总结的Shell十三问,强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点.每一问都写得非常精彩.ChinaUnix ...
- 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式
正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...
- Shell脚本学习 - 运算符
继续shell脚本学习.上一篇是基本数据类型和语法的总结,这一篇是运算相关的操作. 运算符 bash不支持简单的数学计算,需要依赖其他命令实现. expr可以代为实现. # 表达式一般这么写 ` + ...
- shell脚本学习总结02--数组
bash同时支持普通数组个关联数组,普通数组只能使用整数作为数组的索引,关联数组可以使用字符串作为数组的索引. 数组的定义方法: 在单行中使用一列值定义一个数组 [root@new ~]# array ...
- shell脚本学习之6小时搞定(1)
shell脚本学习之6小时搞定(1) 简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本. Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把 ...
- Shell脚本学习第二课·
Shell文件包含 shell也可以包含外部脚本,语法格式如下: . filename 或 source filename 例如创建两个shell脚本. 脚本1:test1.sh url = &quo ...
随机推荐
- jndi 与 jdbc
现在开发中经常用到数据库的两种配置1 jdbc2 jndi 一般开发环境都会使用jdbc环境,自己弄配置方便.但是测试和生产环境一般都使用jndi方式.原因有:1 使用jndi方式配置,数据库的 ...
- 在Windows上创建同样的Linux操作环境
在之前的文章中,介绍了我在GNU/Linux图形界面环境下所使用的工具集合.其基本目的是在保证占用最少系统资源的条件下,将电脑操作效率推向极致.这样的工具组合尤如瑞士军刀一般,简洁.高效.功能全面.与 ...
- Jenkins配置和使用
之前整理了Jenkins的下载和安装过程,有需要的可以参考我的博客,地址: http://www.cnblogs.com/luchangyou/p/5981884.html 接下来整理一下Jenk ...
- 运行ORB-SLAM笔记_编译篇(一)
1.下载代码 https://github.com/raulmur/ORB_SLAM/ (同时也可以看看作者的牛叉论文,我是打算先用代码,再回头看论文) 2.打开后如下 就好像是用一件新产品 ...
- Filewatcher
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...
- Php函数完整参考手册
序号 分类 描述 1 Array 函数 2 Calendar 函数 日历扩展包含了简化不同日历格式间的转换的函数. 3 Date/Time 函数 Date/Time 函数用于从 PHP 脚本运行的服务 ...
- C#代码篇:代码产生一个csv文件调用有两个核心的坑
忙活了半天终于可以开工了,a物品到底要不要放进去取决于两个因素,第一是a有4kg重,只有背包大于等于4kg的时候才能装进去(也就是说当i=1,k<4时f[i,k]=0):第二是当背包的重量大于等 ...
- javascript单例模式(懒汉 饿汉)
第一种:懒汉模式 var Singleton=(function(){ var instantiated; //比较懒,在类加载时,不创建实例,因此类加载速度快,但运行时获取对象的速度慢 functi ...
- php正则匹配中文
<?php $str = '你是我的+****xiaopingguo _ 23947237 _+冠军终归这里'; preg_match_all('/[\x{4e00}-\x{9fa5}A-Za- ...
- xcode6+ios8 横屏下启动画面不显示问题修改
本文转载自汉果博客 » xcode6+ios8 横屏下启动画面不显示问题修改 最近我做游戏 发现xcode6+ios8 横屏下启动画面不显示 显示黑屏 . 设置横屏后 设置catalog 添加使用 ...