在Unix中修剪文件名

时间:2015-09-03 04:08:41

标签: unix filenames trim

我有一个名为

的文件
ROCKET_25_08:00.csv

我想将文件的名称修改为

ROCKET_25_.csv

我尝试mv,但mv不是我要求的,因为有些情况下文件可能不止一个。

我想要名字直到第二个_

如何在unix中获得它。

请告知。

2 个答案:

答案 0 :(得分:1)

有些实用程序可以提供更灵活的重命名。但是一个不使用其他任何东西但包括UNIX工具(如sed)的解决方案将是:

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

这只能在一个目录中运行,它不会处理子目录。

答案 1 :(得分:0)

一点也不清楚你实际上想要做什么,但如果你只想删除最后一个下划线和句号之间的文字,你可以这样做:

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