Linux命令之cut、split、paste
-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
[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 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 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