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
我有一个名为
的文件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