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