您的位置:首页 > 博客中心 > 网络系统 >

Linux命令之cut、split、paste

时间:2022-04-03 14:21

cut 提取文本并输出

-d 指定分隔符
-c 以字符为单位
-f 以d分割后的第几部分

示例:
1 -d 和-f 使用
取出以:为分隔符,第2部分的内容
[root@mail tmp]# echo ni:hao|cut -d ":" -f2
hao

2 -c 使用
取第2个字符
[root@mail tmp]# echo ni:hao|cut -c 2
i
取2到6的字符
[root@mail tmp]# echo ni:hao|cut -c 2-6
i:hao
取第5个字符之前的字符和第5个字符之后的字符
[root@mail tmp]# echo ni:hao|cut -c -5
ni:ha
[root@mail tmp]# echo ni:hao|cut -c 5-
ao
以上取字符或者字段都可以

取出第2和第5个字符
[root@mail tmp]# echo ni:hao|cut -c 2,5
ia

split 分割文件

-b 指定分割后的大小
-l 指定分割后的行数
-a 指定后缀长度,默认是2位
-d 使用数字后缀,默认是字母后缀,从a开始

示例:

1 -b 使用(后面接k 、m 或者K、M、G)
每个文件10M大小分割maillog
[root@mail tmp]# split -b 10m maillog
[root@mail tmp]# ll -h|tac
-rw-r--r-- 1 root root 8.1M Jun 21 09:18 xac
-rw-r--r-- 1 root root 10M Jun 21 09:18 xab
-rw-r--r-- 1 root root 10M Jun 21 09:18 xaa

2 以30行为单位,分割passwd文件,分割的文件以new为开头
[root@mail tmp]# split -l 30 passwd new
[root@mail tmp]# ls -ltr|tac
-rw-r--r-- 1 root root 1370 Jun 21 09:26 newaa
-rw-r--r-- 1 root root 1501 Jun 21 09:26 newab
-rw-r--r-- 1 root root 1513 Jun 21 09:26 newac
-rw-r--r-- 1 root root 1493 Jun 21 09:26 newad
-rw-r--r-- 1 root root 1097 Jun 21 09:26 newae

3 以50行分割passwd,分割后文件以pa开头,并且以3位数字为后缀
[root@mail tmp]# split -l 50 -da3 passwd pa
[root@mail tmp]# ll -rt|tac
-rw-r--r-- 1 root root 2363 Jun 21 09:32 pa000
-rw-r--r-- 1 root root 2542 Jun 21 09:32 pa001
-rw-r--r-- 1 root root 2069 Jun 21 09:32 pa002

paste 合并文件
-d 指定合并的分隔符
-s 每个文件占用一行

示例:
1 -d 示例
[root@mail tmp]# cat paste1 paste2
a
b
c
1
2
3
简单合并
[root@mail tmp]# paste paste1 paste2
a 1
b 2
c 3

使用-d 指定:为分隔符合并
[root@mail tmp]# paste -d : paste1 paste2
a:1
b:2
c:3

-s使用 (合并后,每个文件占用一行)
[root@mail tmp]# paste -s paste1 paste2
a b c
1 2 3

热门排行

今日推荐

热门手游