【发布时间】:2017-08-01 06:25:17
【问题描述】:
我在一个目录中有多个文件,格式如下,其中开始日期和.log(最后)相同,但文件名之间的文件名不同。
来自
27_07_2017file1vc001vpxd-1605.log
27_07_2017case2vc001vpxd-9169.log
27_07_2017server3vc001vpxd-4640.log
27_07_2017file24vc001vpxd-9170.log
27_07_2017files5vc001vpxd-4641.log
到
file1vc001vpxd-1605_27_07_2017_1.log
case2vc001vpxd-9169_27_07_2017_1.log
server3vc001vpxd-4640_27_07_2017_1.log
file24vc001vpxd-9170_27_07_2017_1.log
files5vc001vp-4641_27_07_2017_1.log
我有几个不同的文件。请将上述文件名视为 file1、file2、file3、file4、case1、case2、number1、number2...等。 “文件”一词并非在所有文件名格式中都是固定的 - 它应该重命名为 filename_date_1.log。换句话说,它应该剪切在日期之后的中间名并保留第一个和日期中间等等
请不要建议使用rename 和sed 命令,因为rename 在我的Linux 服务器中不起作用,并且组织不允许我使用sed。
【问题讨论】:
-
欢迎来到 Stack Overflow。请立即阅读About 和How to Ask 页面。请注意,根本不鼓励提出“紧急帮助”的问题。您不应在描述中包含紧急或同义词。而且如果你不需要帮助你就不会问这个问题,所以在标题中请求帮助也等于重言。
-
所有文件名的尾随
_1.log是否固定?你试过什么?您正在考虑使用哪些命令?你真的应该尽最大努力,解释为什么它不工作,它正在产生什么,以及它应该产生什么——一个 MCVE (minimal reproducible example)。 -
为什么您的组织不允许您使用
sed?它是否允许您使用 Awk、Perl、Python ……?为什么不能安装基于 Perl 的prename命令?为什么不首先正确生成文件名? -
我投票结束这个问题,因为 Stack Overflow 不是代码编写服务。