免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1154 | 回复: 0
打印 上一主题 下一主题

Linux 编辑命令参考 cut 从文件的每个行中写出选定的字节、字符或字段。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-11 11:33 |只看该作者 |倒序浏览

               
磁针石
联系方式: gmail
and gtalk: xurongzhong#gmail.com
cut     从文件的每个行中写出选定的字节、字符或字段。
remove sections from each line of files
更多参考:info
coreutils cut
cut 命令

用途

从文件的每个行中写出选定的字节、字符或字段。
语法

cut {
-b List [  -n ] |  -c List |
-f List [  -s ] [  -d Character ] } [ File ... ]
描述

cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 File 参数,cut 命令将读取标准输入。

必须指定 -b、-c 或 -f 标志之一。List 参数为一个以逗号分隔、以空格分隔或连字符分隔的整数的列表(顺序递增)。连字符分隔符表示范围。以下条目是 List 参数的一些示例,它可以用来指代字节、字符或字段:

1,4,7
1-3,8
-5,10
3-

其中 -5 为从第一个到第五个的简写形式,3- 为从第三个到最后一个的简写形式。

如果将 cut 命令用于字段,则由 List 参数指定的字段的长度可以从字段到字段,从行到行发生变化。字段定界符字符(比如制表符)的位置,确定字段长度。

您还可以使用 grep 命令来对一个文件进行水平剪切,和使用 paste 命令来将文件复原。要更改文件中列的次序,使用 cut 和 paste 命令。
标志

-b List    指定字节位置。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c List    指定字符位置。例如,如果您指定 -c 1-72,cut 命令将写出文件每一行的头 72 个字符。
-d Character   使用 Character 变量指定的字符作为指定 -f 标志时的字段定界符。您必须在对 shell 有特殊意义的字符(比如空格字符)上加上引号。
-f List     指定文件中设想被定界符(缺省情况下为制表符)隔开的字段的列表。例如,如果您指定 -f 1,7,cut 命令将仅写出每个行的第一和第七个字段。如果行中不包含字段定界符,cut 命令将通过它们而不对其进行任何操作(对表格的副标题有用),除非指定了 -s 标志。
-n   取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的范围之内,该字符将被写出;否则,该字符将被排除。
-s    取消不包含定界符的行。仅和 -f 标志一起使用。
退出状态

该命令返回以下退出值:
0     所有输入文件被成功输出。
>0   发生一个错误。
示例

   1.
要显示文件的每个行的几个字段,输入:
     
cut  -f 1,5 -d : /etc/passwd
     
这将显示系统密码文件的登录名称和完整用户名称字段。这是第一和第五个字段(-f 1,5),由冒号(-d :)隔开。

     
例如,如果
/etc/passwd 文件像这样:

     
su:*:0:0:User with special privileges:/:/usr/bin/sh
     
daemon:*:1:1::/etc:
     
bin:*:2:2::/usr/bin:
     
sys:*:3:3::/usr/src:
     
adm:*:4:4:System Administrator:/var/adm:/usr/bin/sh
     
pierre:*:200:200:Pierre Harper:/home/pierre:/usr/bin/sh
     
joan:*:202:200:Joan Brown:/home/joan:/usr/bin/sh

     
cut 命令将产生如下结果:

     
su:User with special privileges
     
daemon:
     
bin:
     
sys:
     
adm:System Administrator
     
pierre:Pierre
Harper
     
joan:Joan Brown

   2.
要使用用空格隔开的列表来显示字段,输入:

      cut -f "1 2 3" -d : /etc/passwd

     
cut 命令将产生如下结果:

     
su:*:0
     
daemon:*:1
     
bin:*:2
     
sys:*:3
     
adm:*:4
     
pierre:*:200
     
joan:*:202

% cut -d: -f1 /etc/passwd


文件

/usr/bin/cut    包含 cut 命令。
相关信息

grep 命令、paste 命令、sh 命令。

《AIX 5L V5.2 系统用户指南:操作系统与设备》 中的文件概述描述了操作系统存储了何种文件以及它们是如何存储的。

《AIX 5L V5.2 系统用户指南:操作系统与设备》 中的输入与输出重定向概述描述了如何重定向输入与输出。
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/21908/showart_1120301.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP