我需要有关bash脚本的帮助。脚本需要将目录中的所有文件重命名为其md5 sum +扩展名。
我在下面找到了bash脚本,但是需要对其进行更改,以便添加扩展名。
md5sum * | sed 's/^\(\w*\)\s*\(.*\)/\2 \1/' | while read LINE; do mv $LINE; done
这可能对您有用:
# mkdir temp && cd temp && touch file.{a..e}
# ls
file.a file.b file.c file.d file.e
# md5sum * | sed -e 's/\([^ ]*\) \(.*\(\..*\)\)$/mv -v \2 \1\3/' | sh
`file.a' -> `d41d8cd98f00b204e9800998ecf8427e.a'
`file.b' -> `d41d8cd98f00b204e9800998ecf8427e.b'
`file.c' -> `d41d8cd98f00b204e9800998ecf8427e.c'
`file.d' -> `d41d8cd98f00b204e9800998ecf8427e.d'
`file.e' -> `d41d8cd98f00b204e9800998ecf8427e.e'
或者GNU sed可以做的更短:
# md5sum * | sed -e 's/\([^ ]*\) \(.*\(\..*\)\)$/mv -v \2 \1\3/e'
文件重命名 文件重命名 源码/* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * *//* * 程序清单:更改名称 * * 程序会创建一个操作文件的函数并导出到msh命令列表 * 在
问题内容: 我有大量的格式文件,以及。 如何重命名这些文件,使它们全部为大写,而忽略名称的数字部分? 问题答案:
我目前正在将spark数据帧存储为。Azure上blob存储中的csv文件。我正在使用以下代码。 这是可行的,但它会创建一个SmtRef。csv文件夹中的实际。csv文件存储为part-00000-tid。csv。如何指定实际的名称。csv文件? 提前感谢
问题内容: 我有这样的事情: 我想将这些文件重命名为以下形式: 在同一目录中。 我想我可以使用,但是我不知道如何在文件夹和文件重命名的同时使用它。 问题答案: 可以使用bash for loop和: 请注意,如果目录名称包含空格,则上述解决方案将不起作用。相关链接。 另一种基于注释的解决方案(也适用于名称中也包含空格的目录):
问题内容: 从最近4天开始,我们在生产服务器(AWS EC2实例)上面临一个奇怪的问题,该服务器仅针对一个站点,即SugarCRM。 问题是 /home/site_folder/public_html/include/MassUpdate.php 文件自动重命名为 /home/site_folder/public_html/include/MassUpdate.php.suspected 一天发生
问题内容: 我最初有一组图像,格式为image_001.jpg,image_002.jpg,… 我经历了他们,并删除了几个。现在,我想将剩余的文件重命名为image_001.jpg,image_002.jpg,… 是否有Linux命令可以很好地做到这一点?我对重命名很熟悉,但是看不到任何命令来排序这样的文件名。我在想,既然按顺序列出文件(有间隔),解决方案是将其输出传递到bash循环或其他东西中?