shell命令之---处理数据文件
目录
排序数据
搜索数据
压缩数据
归档数据
1、排序数据
sort命令参数
单破折线 双破折线 描述
-b --ignore-leading-blanks 排序时忽略起始的空白
-C --check=quiet 不排序,如果数据无序也不要报告
-c --check 不排序,但检查输入数据是不是已排序;未排序的话,报告
-d --dictionary-order 仅考虑空白和字母,不考虑特殊字符
-f --ignore-case 默认情况下,会将大写字母排在前面;这个参数会忽略大小写
-g --general-number-sort 按通用数值来排序(跟-n不同,把值当浮点数来排序,支持科学计数法表示的值)
-i --ignore-nonprinting 在排序时忽略不可打印字符
-k --key=POS1[,POS2] 排序从POS1位置开始;如果指定了POS2的话,到POS2位置结束
-M --month-sort 用三字符月份名按月份排序
-m --merge 将两个已排序数据文件合并
-n --numeric-sort 按字符串数值来排序(并不转换为浮点数)
-o --output=file 将排序结果写出到指定的文件中
-R --random-sort 按随机生成的散列表的键值排序
--random-source=FILE 指定-R参数用到的随机字节的源文件
-r --reverse 反序排序(升序变成降序)
-S --buffer-size=SIZE 指定使用的内存大小
-s --stable 禁用最后重排序比较
-T --temporary-directory=DIR 指定一个位置来存储临时工作文件
-t --field-separator=SEP 指定一个用来区分键位置的字符
-u --unique 和-c参数一起使用时,检查严格排序;不和-c参数一起用时,仅输出第一例相似的两行
-z --zero-terminated 用NULL字符作为行尾,而不是用换行符
-k和-t参数在对按字段分隔的数据进行排序时非常有用,例如/etc/passwd文件。
# sort -t ':' -k 3 -n /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
2、搜索数据
你会经常需要在大文件中找一行数据,而这行数据又埋藏在文件的中间。这时并不需要手动翻看整个文件,用grep命令来帮助查找就行了。 grep命令的命令行格式如下:
grep [options] pattern [file]
3、压缩数据
gzip:用来压缩文件
gzcat:用来查看压缩过的文本文件的内容
gunzip:用来解压文件
4、归档数据
虽然zip命令能够很好地将数据压缩和归档进单个文件,但它不是Unix和Linux中的标准归档工具。目前, Unix和Linux上最广泛使用的归档工具是tar命令。
下面是tar命令的格式:
tar function [options] object1 object2 ...
tar命令功能
功能 长命名 描述
-A --concatenate 将一个已有tar归档文件追加到另一个已有tar归档文件
-c --create 创建一个新的tar归档文件
-d --diff 检查归档文件和文件系统的不同之处
--delete 从已有tar归档文件中删除
-r --append 追加文件到已有tar归档文件末尾
-t --list 列出已有tar归档文件的内容
-u --update 将比tar归档文件中已有的同名文件新的文件追加到该tar归档文件中
-x --extract 从已有tar归档文件中提取文件
tar命令选项
选项 描述
-C dir 切换到指定目录
-f file 输出结果到文件或设备file
-j 将输出重定向给bzip2命令来压缩内容
-p 保留所有文件权限
-v 在处理文件时显示文件
-z 将输出重定向给gzip命令来压缩内容