开源是一种精神,分享是一种美德!

cut

相关命令:暂无相关命令
cut - 在文件的每一行中提取片断

在 每个文件 FILE 的 各行 中, 把 提取的 片断 显示在 标准输出.

-b, --bytes=LIST
    输出 这些 字节
-c, --characters=LIST
    输出 这些 字符
-d, --delimiter=DELIM
    使用 DELIM 取代 TAB 做 字段(field) 分隔符
-f, --fields=LIST
    输出 这些 字段
-n
    (忽略)
-s, --only-delimited
    不显示 没有 分隔符 的 行
--output-delimiter=STRING
    使用 STRING 作为 输出分隔符, 缺省 (的 输出分隔符) 为 输入分隔符
--help
    显示 帮助信息, 然后 结束
--version
    显示 版本信息, 然后 结束

使用 且 只使用 -b, -c 或 -f 中的 一个 选项. LIST 由 一个 范围 (range) 或 逗号 隔开的 多个 范围 组成. 范围 是 下列 形式 之一:

N
    第 N 个 字节, 字符 或 字段, 从 1 计数 起
N-
    从 第 N 个 字节, 字符 或 字段 直至 行尾
N-M
    从 第 N 到 第 M (并包括 第M) 个 字节, 字符 或 字段
-M
    从 第 1 到 第 M (并包括 第M) 个 字节, 字符 或 字段

如果 没有 指定 文件 FILE, 或 FILE 是 -, 就从 标准输入 读取 数据.


[root@localhost ~]# cat /etc/passwd | cut -b 1 |head -5      #输出文件的第一个字节
r
b
d
a
l

[root@localhost ~]# cat /etc/passwd | cut -c 1-4 |head -5    #输出文件的前四个字符
root
bin:
daem
adm:
lp:x

[root@localhost ~]# cat /etc/passwd | cut -f1 -d ':' |head -5   #以:分割文件,输出第一个字段
root
bin
daemon
adm
lp

   

# cat a.txt    
ssss    affff   dddd    fe      fsc
rrr     f       adfa    eer     ddd

# cat a.txt |cut -f1,3 -d $'\t'   #1,3列
ssss    dddd
rrr     adfa

 

# cat file.txt  
unix or linux os  
is unix good os  
is linux good os  
	
# cut -c4 file.txt #将所有行的第四个字符打印出来。
x  
u  
l  

# cut -c4,6 file.txt   #将每一行的第四个和第六个字符打印出来
xo  
ui  
ln  
	
# cut -c4-7 file.txt  #将第四个到第七个字符打印出来,注意是闭区间。
x or  
unix  
linu  


# cut -c-6 file.txt   #将每一行的前六个字符都打印出来
unix o  
is uni  
is lin  

# cut -c10- file.txt  #将从起始位置到行末的所有文本都打印出来
inux os  
ood os  
good os  
	
# cut -d ' ' -f2 file.txt   #定义空格为一行的分隔符,并将每一行的第二个字段打印出来
or  
unix  
linux  

# cut -d ' ' -f2,3 file.txt    #将第二个字段和第三个字段打印出来
or linux  
unix good  
linux good 

# cut -d ' ' -f1-3 file.txt    #将第一个字段、第二个字段、第三个字段的内容都打印出来
# cut -d ' ' -f-3 file.txt     #将前三个字段都打印出来

评论(4)

    • 执手说爱你
      网站非常好,赞赞赞
      [回复]
    • linux爱好者
      作者整理的很好,赞!!
      [回复]
    • D调de华丽
      案例真的做的很好,大大的赞
      [回复]
    • qhb5858
      网站非常好,赞赞赞,学习中!
      [回复]

评论

名字:
验证码:
获取验证码
内容: