我用下面的命令来吐出文件
split -l 100 date.csv date.csv
文件分割如下
date.csvaa date.csvab date.csvac date.csvad date.csvae
我想要重命名文件如下。
date_1.csv date_2.csv date_3.csv date_4.csv date_5.csv
请帮忙
有很多方法来解决这个问题。 其他答案提供了一个方法来做到这一点,只是通过传递给split
参数 – 但是在Ubuntu 12.04的拆分版本似乎不支持这些答案中使用的参数。
这是一个。 这会拆分文件,并使用split
上的默认选项将文件名前缀为x
。 然后按顺序列出文件并根据需要重命名它们。
split -l 100 date.csv i=1 for x in `ls x* | sort` do mv $x date_$i.csv i=$(($i+1)) done
这条线是一回事:
split --numeric-suffixes=1 --additional-suffix=.csv -l100 data.csv data_
小测试(来自stdin):
kent$ split --version|head -1 split (GNU coreutils) 8.22 kent$ l total 0 kent$ seq 10|split --numeric-suffixes=1 --additional-suffix=.csv -l2 - data_ kent$ l total 20K -rw-r--r-- 1 kent kent 4 Mar 14 11:13 data_01.csv -rw-r--r-- 1 kent kent 4 Mar 14 11:13 data_02.csv -rw-r--r-- 1 kent kent 4 Mar 14 11:13 data_03.csv -rw-r--r-- 1 kent kent 4 Mar 14 11:13 data_04.csv -rw-r--r-- 1 kent kent 5 Mar 14 11:13 data_05.csv