高级文件处理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
upcomress命令
解压缩compress压缩的文件 格式与compress一样
compress/uncompres示例
[oracle@authsvr ~]$ ls -l test.txt -rw-r--r-- 1 oracle oinstall 6994 4月 1 07:10 test.txt [oracle@authsvr ~]$ compress test.txt [oracle@authsvr ~]$ ls -l test.txt.Z -rw-r--r-- 1 oracle oinstall 2250 4月 1 07:10 test.txt.Z [oracle@authsvr ~]$ uncompress test.txt.Z [oracle@authsvr ~]$ ls -l test.txt -rw-r--r-- 1 oracle oinstall 6994 4月 1 07:10 test.txt [oracle@authsvr ~]$ compress -v test.txt test.txt: -- replaced with test.txt.Z Compression: 67.82% [oracle@authsvr ~]$
不同) 常用选项:
-i:匹配过程中,忽略大小写 -n:显示匹配行的行号 -l:显示匹配行所在的文件名
在文件中查找
grep命令示例
$grep –n ftp *.log $grep –n [a-z]ftp *.log $grep –n [^a-z]ftp *.log $grep –in ^[a-z 0-9]ftp *.log $grep –in open.*3.9 *.log $egrep -in 'open|ftp' *.log
一个字符 例
/[bcs]old/:表示第一个字符可以是b、c或者s,即整个字符串可以是bold、 cold或者sold
/file[1-9].txt/:表示第四个字符可以是1到9的任意一个数字 /^a-zA-Z/:任意一个非字母字符
特殊字符
星号(*)
表示所跟字符重复0次或者多次
如果前面是点号,则可以表示一个任意的字符串
/usr/share/man/man2/mount.2.gz /usr/share/man/man8/mount.8.gz [root@authsvr ~]#
2、在文件中查找
用户更多的是需要在文件中查找感兴趣的内容
grep命令:grep [options] pattern [file-list] egrep命令:egrep [options] [string] [file-list] fgrep命令:fgrep [options] [expression] [file-list] 这三个命令都是在文件中对指定的模式/字符串/表达式进行查找 如果file-list为空,则从标准输入取得输入 pattern/string/expression均可以用正则表达式(三个命令的支持程度
文件压缩
compress命令
以自适应Lempel-Ziv编码压缩文件 命令格式:compress [options] [file-list] 压缩后的内容保存到一个与原文件同名的.Z文件中 注意:原文件将被删除 常用选项
-v:显示压缩百分比以及文件名称 -f:强行压缩(不带提示)
文件压缩
注意:不同的程序,对正则表达式的支持程度不同
2、普通字符与分隔符
普通字符
除特殊字符之外的所有一般字符 当特殊字符要作为普通字符时,需要使用引用符号
分隔符
“/”号 用来分隔一个正则表达式字符串 有些程序中可以省略,还有些程序允许使用别的字符作
为分隔符
3、特殊字符
特殊字符使得正则表达式可以表示任意复杂的字符 串
行的开始是T 行的开始是一个数字 行的结尾是一个冒号
特殊字符
小括号(“()”)
表示一个组合的字符串作为一个基本的正则表达式单元
例Baidu Nhomakorabea
/(xy)*/
xyxy, xyxyxyxyxy, xy
/Oh, (la )+/ Oh, la la la , Oh, la la
4、转义
有的情况下,特殊字符(元字符)需要作为一个普 通字符出现在字符串中,此时就需要转义

/ab*c/
abc, abbbc, abbbbbc
/ab.*c/
abxc, ab234rdfc, abc
/[a-z A-Z]*/
?
加号(+)
与星号类似,表示所跟字符重复1次或者多次
特殊字符
“^”与”$”符号
“^”表示在行首匹配一个字符串
“$”表示在行尾匹配一个字符串
称为锚定

/^T/ /^[0-9] /:$/
3、文件压缩
文件压缩技术
减小存储空间 减少复制与网络传输时间 与解压缩互为逆过程
UNIX常用压缩/解压的工具/命令
compress/uncompress:压缩/解压 gzip/gunzip:压缩/解压 tar:压缩/解压 zcat/gzcat/gzmore:显示压缩文件内容 gzcmp:比较压缩文件
命令/文件的查找
find命令 whereis命令 where命令
命令查找
whereis命令
命令格式:whereis [options] [commands] 定位指定的命令所对应的可执行文件或源代码 常用选项:
-b:仅搜索二进制(可执行)文件 -s:仅搜索源代码
例:
[root@authsvr ~]# whereis ftp ftp: /usr/bin/ftp /usr/share/man/man1/ftp.1.gz [root@authsvr ~]# whereis mount mount: /bin/mount /sbin/mount.smb /sbin/mount.smbfs /sbin/mount.cifs
点号(.)
匹配任意一个字符 有些程序使用”?”来作为匹配任意一个字符的特殊字符 例:
/.all/:表示all字符串前面加任意一个字符,例如可以是call、mall、 wall…
特殊字符
方括号([])
集合匹配 匹配括号内任意一个字符 若括号内第一个字符是“^”,则表示否定,即匹配不在括号内的任意
转义的方法:“\”+所需转义的字符
例:
/me\./
me.
/you\\me/ /and\/or/
you\me and/or
高级文件处理
6.1 正则表达式 6.2 查找、压缩及编解码 6.3 文件共享 6.4 文件系统与磁盘
1、命令查找
UNIX用户有时候需要
知道文件系统中是否存在某个特定的命令或者文件 知道命令所对应的可执行文件 命令的版本
高级文件处理
6.1 正则表达式 6.2 查找、压缩及编解码 6.3 文件共享 6.4 文件系统与磁盘
1、什么是正则表达式
正则表达式
UNIX平台下经典的复杂字符串表示方法 定义了一套由一个或者多个字符串组成的集合 许多UNIX系统程序与应用程序(例如vi与shell本身),
都支持使用正则表达式进行字符串查找与替换
相关文档
最新文档