linux学习之shell脚本 ------- 文本过滤

  [本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020]

  今天来看一下shell关于文字过滤的知识,其实最主要的就是正则表达式以及关于文本的一常见的命令。

正则表达式:

  一种用来描述文本模式的特殊语法。

  由普通字符(例如字符az)以及特殊字符(称为元字符,如/、*、?等)组成。

基本元字符集及其含义:

字符

含义

^

只匹配行首

$

只匹配行尾

*

匹配0个或多个单字符

[ ]

只匹配[]内字符,可以是一个单字符,也可以是字符序列,可以使用-表示[]内字符序列范围,如[1-5]代表[12345]

\

只用来屏蔽一个元字符的特殊含义

.

只匹配任意单个字符

pattern\{n\}

只用来匹配前面pattern出现次数,n为次数

pattern\{n,\}

含义同上,但次数最少为n

Pattern\{n,m\}

含义同上,但pattern出现次数在nm 之间

   部分元字符具体用法:

  \屏蔽一个特殊字符

   这里的特殊字符有’’||*+

   \*\.pas

    - 正则表达式中匹配以*.pas结尾的所有字符或文件

  []匹配一个范围或集合

   - 逗号将括弧内要匹配的不同字符串分开

   - 用 表示一个字符串范围,表明字符串范围从 左边字符开始,到 右边字符结束。

  例子:

[0123456789]或[0-9]:假定要匹配任意一个数字。

[a-z]:匹配任意小写字母

[A-Z a-z]:匹配任意大小写字母

[A-Z a-z0-9]:匹配任意字母或数字

[S,s]:匹配大小写s
  \{\}匹配模式结果出现的次数

  例子:

A\{2\}B:A出现2次,即AAB

A\{4,\}B:A最少出现4次,AAAAB,AAAAAB,....

A\{\2,4}B:A出现次数2-4次,即AAB,AAAB,AAAAB


一些关于文本处理的命令:

  find命令

     -命令形式:

Find pathname -option [-print -exec -ok]

- pathname: find命令所查找的目录

- -print: find命令将匹配的文件输出到标准输出

- -exec: find命令对匹配的文件执行该参数所给出的shell命令,相应命令的形式为 ‘command’ {} \; ,注意{}和\;之间的空格

- -ok 和 -exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

- -name: 按照文件名来查找

- -perm: 按照文件权限来查找

- -user: 按照文件所有者来查找文件

- -group: 按照文件所属组来查找文件

- -mtime -n +n: 按照文件的更改时间来查找文件, -n 表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。

- -size n[c]: 查找文件长度为n块的文件,带有c时表示文件长度以字节计

- -nogroup: 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在

- -nouser: 查找无有效所有者的文件

- -newer file1 !file2:查找更改时间比文件file1新,但是比文件file2旧的文件

- -type:查找某一类型的文件,如:

b: 块设备文件

d: 目录

c: 字符设备文件

p: 管道文件

l: 符号链接文件

f: 普通
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值