重命名由 split 创建的文件

重命名由 split 创建的文件

我有来自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_01output_02直至并包括output_99,但不是output_100.

--numeric-suffixes=1选项是 GNUsplit特定的选项,它选择从给定数字开始的数字后缀(而不是像 using 那样从 0 开始-d)。通常,split创建带有字母后缀的文件。

相关内容