Linux命令-cut篇

  Cut 命令是常用的 Linux 命令,在这里总结一下平时常用的参数和用法,方便查证。

  常用参数:
    -b:以字节为单位进行分割;
    -c:以字符为单位进行分割;
    -d:自定义分割符进行分割,默认为制表符;

    -f:一般与 -d 一起使用,指定区域;
    -n:一般与 -b 一起使用,取消分割多字节字符;

  举个栗子,先生成一个测试模板

[dmdba@192 gs_bash]$ cat /etc/passwd |head -n 10 > test.txt
[dmdba@192 gs_bash]$ cat test.txt
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
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

  按照字节截取,其中 -4 代表从第一个字节到第四个字节(4- 就代表第四个字节到最后一个字节),可以截取多个范围的字节,以逗号隔开。

[dmdba@192 gs_bash]$ cut -b -4,10-12 test.txt 
root0:r
bin::bi
daem2:2
adm::ad
lp:xlp:
sync0:s
shutx:6
halt0:h
mail12:
uucp:14

  我建个临时文件,里面用制表符(tab) 与空格做了一行数据。

[dmdba@192 gs_bash]$ cat a.log 
1    2 3 4
[dmdba@192 gs_bash]$ sed -n l a.log 
1\t2 3 4$

  当我用制表符分割时,因为是默认的,所以不用添加 -d 参数,添加了反而会报错,如果用一个空格来分割,则要加。

[dmdba@192 gs_bash]$ cat a.log 
1    2 3 4
[dmdba@192 gs_bash]$ cut -d -f1 a.log
cut: the delimiter must be a single character
Try `cut --help' for more information.
[dmdba@192 gs_bash]$ cut -f1 a.log 
1
[dmdba@192 gs_bash]$ cut -d' ' -f1 a.log 
1    2

 

转载于:https://www.cnblogs.com/DimInk/p/10683538.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值