码迷,mamicode.com
首页 > 系统相关 > 详细

Linux命令之cut、split、paste

时间:2018-06-21 13:36:51      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:合并   tmp   log   文本   长度   部分   ls -l   pass   paste   

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

Linux命令之cut、split、paste

标签:合并   tmp   log   文本   长度   部分   ls -l   pass   paste   

原文地址:http://blog.51cto.com/shaiyawu/2131197

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!