Trim Unix 中的文件名

Trim a file name in Unix

我有一个名为

的文件
ROCKET_25_08:00.csv

我要trim文件名改为

ROCKET_25_.csv

我尝试了mv,但mv不是我所需要的,因为有时文件可能不止一个。

我想要第二个之前的名字_

如何在 unix 中获取它。

请指教

有一些实用程序可以提供更灵活的重命名。但是,除了包含 UNIX 工具(如 sed)之外,不使用任何其他工具的解决方案是:

ls -d * | sed -re 's/^([^_]*_[^_]*_)(.*)(\....)$/mv -v  /' | bash

这只会在一个目录中工作,不会处理子目录。

一点都不清楚你到底想做什么,但如果你只想删除最后一个下划线和句点之间的文本,你可以这样做:

f=ROCKET_25_08:00.csv
echo ${f%_*}_.csv