第11章合并与分割
时间:2006-09-07 来源:火鸡
• 实用的分类(sort)操作。
• uniq。
• join。
• cut。
• paste。
• split。
11.1 sort用法
sort命令的一般格式为:
sort -cmu -o output_file [other options] +pos1 +pos2 input_files
下面简要介绍一下sort的参数:
-c 测试文件是否已经分类。
-m 合并两个分类文件。
-u 删除所有复制行。
-o 存储s o r t结果的输出文件名。
其他选项有:
-b 使用域进行分类时,忽略第一个空格。
-n 指定分类是域上的数字分类。
-t 域分隔符;用非空格或t a b键分隔域。
-r 对分类次序或比较求逆。
+n n为域号。使用此域号开始分类。
n n为域号。在分类比较时忽略此域,一般与+ n一起使用。
post1 传递到m,n。m为域号,n为开始分类字符数;例如4,6意即以第5域分类,从第7
个字符开始。
[root@100_51 loadsimu]# sort -c seg.txt
sort: seg.txt:4: disorder: 2629120
基本sort
sort -t: seg.txt
sort分类求逆
sort -t: -r seg.txt
按指定域分类 sort +9 seg.txt 按照第10列来排序(字符顺序)
数值域分类 sort +0 seg.txt 按照第1列的数字大小来排序
使用- u选项去除重复行
11.2 系统sort
cat /etc/passwd| sort -t: +0 |awk -F":" '{print $1}' 按字母顺序打印用户名,这里awk$1表示第一列。
11.3 uniq用法
命令一般格式:
其选项含义:
-u 只显示不重复行。
-d 只显示有重复数据行,每种重复行只显示其中一行
-c 打印每一重复行出现次数。
-f n为数字,前n个域被忽略。
一些系统不识别- f选项,这时替代使用- n。
11.4 join用法
暂略
11.5 cut用法
c u t用来从标准输入或文本文件中剪切列或域。剪切文本可以将之粘贴到一个文本文件。
下一节将介绍粘贴用法。
cut一般格式为:
cut [options] file1 file2
下面介绍其可用选项:
-c list 指定剪切字符数。
-f field 指定剪切域数。
-d 指定与空格和t a b键不同的域分隔符。
- c用来指定剪切范围,如下所示:
- c 1,5-7 剪切第1个字符,然后是第5到第7个字符。
-c1-50 剪切前5 0个字符。
-f 格式与- c相同。
-f 1,5 剪切第1域,第5域。
- f 1,10-12 剪切第1域,第1 0域到第1 2域。
cut -d: -f1 /etc/passwd 提取第一行
[root@MD_100_22 bin]# cut -d: -f1,3 /etc/passwd
root:0
bin:1
daemon:2
以上提取了域1和域3
11.6 paste用法
paste 格式为;
paste -d -s -file1 file2
选项含义如下:
-d 指定不同于空格或t a b键的域分隔符。例如用@分隔域,使用- d @。
-s 将每个文件合并成行而不是按行粘贴。
- 使用标准输入。例如ls -l |paste ,意即只在一列上显示输出。
paste命令管道输入
每行显示2个文件
[root@MD_100_22 bin]# ls | paste -d" " - -
agent-t aum
aum.bak board_mng
bootUtil channelUtil
效果等同于: ls | paste - -
11.7 split用法
split 命令一般格式:
split -output_file-size input-filename output-filename
• uniq。
• join。
• cut。
• paste。
• split。
11.1 sort用法
sort命令的一般格式为:
sort -cmu -o output_file [other options] +pos1 +pos2 input_files
下面简要介绍一下sort的参数:
-c 测试文件是否已经分类。
-m 合并两个分类文件。
-u 删除所有复制行。
-o 存储s o r t结果的输出文件名。
其他选项有:
-b 使用域进行分类时,忽略第一个空格。
-n 指定分类是域上的数字分类。
-t 域分隔符;用非空格或t a b键分隔域。
-r 对分类次序或比较求逆。
+n n为域号。使用此域号开始分类。
n n为域号。在分类比较时忽略此域,一般与+ n一起使用。
post1 传递到m,n。m为域号,n为开始分类字符数;例如4,6意即以第5域分类,从第7
个字符开始。
[root@100_51 loadsimu]# sort -c seg.txt
sort: seg.txt:4: disorder: 2629120
基本sort
sort -t: seg.txt
sort分类求逆
sort -t: -r seg.txt
按指定域分类 sort +9 seg.txt 按照第10列来排序(字符顺序)
数值域分类 sort +0 seg.txt 按照第1列的数字大小来排序
使用- u选项去除重复行
11.2 系统sort
cat /etc/passwd| sort -t: +0 |awk -F":" '{print $1}' 按字母顺序打印用户名,这里awk$1表示第一列。
11.3 uniq用法
命令一般格式:
其选项含义:
-u 只显示不重复行。
-d 只显示有重复数据行,每种重复行只显示其中一行
-c 打印每一重复行出现次数。
-f n为数字,前n个域被忽略。
一些系统不识别- f选项,这时替代使用- n。
11.4 join用法
暂略
11.5 cut用法
c u t用来从标准输入或文本文件中剪切列或域。剪切文本可以将之粘贴到一个文本文件。
下一节将介绍粘贴用法。
cut一般格式为:
cut [options] file1 file2
下面介绍其可用选项:
-c list 指定剪切字符数。
-f field 指定剪切域数。
-d 指定与空格和t a b键不同的域分隔符。
- c用来指定剪切范围,如下所示:
- c 1,5-7 剪切第1个字符,然后是第5到第7个字符。
-c1-50 剪切前5 0个字符。
-f 格式与- c相同。
-f 1,5 剪切第1域,第5域。
- f 1,10-12 剪切第1域,第1 0域到第1 2域。
cut -d: -f1 /etc/passwd 提取第一行
[root@MD_100_22 bin]# cut -d: -f1,3 /etc/passwd
root:0
bin:1
daemon:2
以上提取了域1和域3
11.6 paste用法
paste 格式为;
paste -d -s -file1 file2
选项含义如下:
-d 指定不同于空格或t a b键的域分隔符。例如用@分隔域,使用- d @。
-s 将每个文件合并成行而不是按行粘贴。
- 使用标准输入。例如ls -l |paste ,意即只在一列上显示输出。
paste命令管道输入
每行显示2个文件
[root@MD_100_22 bin]# ls | paste -d" " - -
agent-t aum
aum.bak board_mng
bootUtil channelUtil
效果等同于: ls | paste - -
11.7 split用法
split 命令一般格式:
split -output_file-size input-filename output-filename
相关阅读 更多 +