linux split实例,每天学点Linux-切割命令split(示例代码)

本文介绍了Linux系统中Split命令的使用,用于将大文件分割成小文件。Split命令可以根据文件大小或行数进行切割,并提供了-b和-l选项。通过示例展示了如何将大文件切割成指定大小的文件,以及如何使用cat命令将这些小文件合并回原始文件。此外,还提到了tee命令的功能,它可以在将数据流保存到文件的同时显示在屏幕上,便于数据处理和记录。
摘要由CSDN通过智能技术生成

一种常见的需求是,有一个比较大的文件,需要把它切割成比较小的几个文件,在Linux系统中你就可以使用Split命令了。Split命令可以将一个大的文件按照文件大小或者行数切割成小文件。Split命令的使用方式如下:

plit [-bl] file PREFIX

选项与参数:

-b :后面可接欲分割成的文件大小,可加单位,例如 b, k, m 等;

-l :以行数来进行分割。

PREFIX :代表前导符的意思,可作为分割文件的前导文字。

范例一:我的 /etc/termcap 有七百多K,若想要分成 300K 一个文件时?

[root@www ~]# cd /tmp; split -b 300k /etc/termcap termcap

[root@www tmp]# ll -k termcap*

-rw-r--r-- 1 root root 300 Feb 7 16:39 termcapaa

-rw-r--r-- 1 root root 300 Feb 7 16:39 termcapab

-rw-r--r-- 1 root root 189 Feb 7 16:39 termcapac

如上所示,分割后的文件以 xxxaa, xxxab, xxxac 等方式来创建小文件的!

范例二:如何将上面的三个小文件合成一个文件,档名为 termcapback

[root@www tmp]# cat termcap* >termcapback

使用cat命令,将数据流重定向就可以了。

范例三:使用 ls -al / 输出的信息中,每十行记录成一个文件

[root@www tmp]# ls -al / | split -l 10 - lsroot

[root@www tmp]# wc -l lsroot*

10 lsrootaa

10 lsrootab

6 lsrootac

26 total

注意:在管道命令当中,常常会使用到前一个命令的 stdout作为这次的stdin , 某些命令需要用到文件名 (例如 tar) 来进行处理时,该stdin与stdout可以利用减号 "-" 来替代, 举例来说:

[root@www ~]# tar -cvf - /home | tar -xvf -

注意在上面的例子使用到了\'>\',\'>\'会将数据流传送给文件或者设备,因此可以使用>将命令输出写入到文件或者设备。当然写入到设备后就无法继续利用这个数据流。如果需要继续使用这个数据流可以使用tee命令对流进行双向重定向。tee命令的示意图如下所示:

2b256425427f4c59ab52c284db19a383.jpg

tee 会同时将数据流分送到文件去与屏幕 (screen);而输出到屏幕的,其实就是 stdout ,可以继续处理。

tee [-a] file

选项与参数:

-a :以累加 (append) 的方式,将数据加入 file 当中!

具体使用如下所示:

[root@www ~]# last | tee last.list | cut -d " " -f1

# 这个范例可以让我们将 last 的输出存一份到 last.list 文件中;

[root@www ~]# ls -l /home | tee ~/homefile | more

# 这个范例则是将 ls 的数据存一份到 ~/homefile ,同时屏幕也有输出信息!

[root@www ~]# ls -l / | tee -a ~/homefile | more

# 要注意! tee 后接的文件会被覆盖,若加上 -a 这个选项则能将信息累加。

tee 可以让 standard output 转存一份到文件内并将同样的数据继续送到屏幕去处理! 这样除了可以让我们同时分析一份数据并记录下来之外,还可以作为处理一份数据的中间缓存盘记录之用!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值