我有来自split
调用的输出文件
shivi11aa
shivi11ab
(ETC。)
我如何将这些现有文件重命名为
output_1
output_2
(ETC。)
如果我有 1000 个文件,最后一个应该是output_1000
.
答案1
n=0
for filename in shivi11*; do
n=$(( n + 1 ))
mv -i "$filename" "output_$n"
done
...其中shivi11*
的模式必须与您要重命名的所有文件(而不是其他文件)相匹配。
备份您的数据并进行测试。
回答原来的问题(编辑之前):
如果您所说的“split”是指该split
实用程序,那么您可以像这样调用该实用程序来获取您想要的内容(这假设是 GNUsplit
并且您希望将文件拆分file
为 20 KB 位):
split -b 20k -a 1 --numeric-suffixes=1 file output_
这会创建output_1
等等output_2
。
请注意,由于我们将后缀长度限制为单个字符-a 1
,因此无法拆分为超过 9 个文件。使用eg-a 2
将创建名为 等的文件output_01
,output_02
直至并包括output_99
,但不是output_100
.
该--numeric-suffixes=1
选项是 GNUsplit
特定的选项,它选择从给定数字开始的数字后缀(而不是像 using 那样从 0 开始-d
)。通常,split
创建带有字母后缀的文件。