专注各种脚本编程
Baidu
加入收藏夹
本站内容有下面分类知识,欢迎您的到来^_^
shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言 oracle
当前位置:| 主页>shell基础篇>

文件分类、合并和分割之cut篇

百度收藏 QQ搜藏

cut用来从标准输入或文本文件中剪切列或域。剪切文本可以将之粘贴到一个文本文件。

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域。
现在从' p e r s '文件中剪切文本。

[sam@chenwy sam]$ cat pers
P.Jones Office Runner ID897
S.Round UNIX admin ID666
L.Clip Personl Chief ID982
使用域分隔符
文件中使用空格“ ”为域分隔符,故可用- d选项指定冒号,如- d " "。如果有意观察第3域,可以使用- f 3。要抽取I D域。可使用命令如下:

[sam@chenwy sam]$ cut -d" " -f3 pers
Runner
admin
Chief
剪切指定域
cut命令中剪切各域需用逗号分隔,如剪切域1和3,即名字和I D号,可以使用:

[sam@chenwy sam]$ cut -d" " -f1,3 pers
P.Jones Runner
S.Round admin
L.Clip Chief
使用- c选项指定精确剪切数目
这种方法需确切知道开始及结束字符。通常我不用这种方法,除非在固定长度的域或文件名上。
当信息文件传送到本机时,查看部分文件名就可以识别文件来源。要得到这条信息需抽取文件名后三个字符。然后才决定将之存在哪个目录下。下面的例子显示文件名列表及相应cut命令:

[sam@chenwy sam]$ cat pers2
Dept2C ID897 6 years
Dept3S ID666 2 years
Dept5Z ID982 1 year

[sam@chenwy sam]$ cut -c4-8,11-12 pers2
t2C I97
t3S I66
t5Z I82
要剪切谁正在使用系统的用户信息,方法如下:

[sam@chenwy sam]$ who -u|cut -c1-8
root
root

上一篇:文件分类、合并和分割之join篇 下一篇:文件分类、合并和分割之paste篇

power by soyo123 2007-2008