如何在unix中重命名多个文件 [英] how to rename multiple files in unix

查看:65
本文介绍了如何在unix中重命名多个文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用 shell 脚本重命名一个目录中的多个文件这些文件有共同的前缀:

I'd like to rename multiple files in one directory using shell scripting the files have common prefix :

Modify: 2014-09-19 16:08:35.000000000 +0300-16:08:35.000000000-OCS_dmobfw1-oam_d04_20140919_155335.csv
Modify: 2014-09-19 16:09:23.000000000 +0300-16:09:23.000000000-OCS_dmobfw1-oam_d01_20140919_155423.csv
Modify: 2014-09-19 16:09:51.000000000 +0300-16:09:51.000000000-OCS_dmobfw1-oam_d09_20140919_155451.csv
Modify: 2014-09-19 16:12:40.000000000 +0300-16:12:40.000000000-OCS_dmobfw1-oam_d07_20140919_155740.csv
Modify: 2014-09-19 16:14:48.000000000 +0300-16:14:48.000000000-OCS_dmobfw1-oam_d05_20140919_155948.csv
Modify: 2014-09-19 16:18:14.000000000 +0300-16:18:14.000000000-OCS_dmobfw1-oam_d03_20140919_160314.csv
Modify: 2014-09-19 16:18:15.000000000 +0300-16:18:15.000000000-OCS_dmobfw1-oam_d08_20140919_160315.csv

我想从所有文件中删除以下部分:

i want to remove the following part from all files :

修改:2014-09-19 16:08:35.000000000 +0300-16:08:35.000000000-

Modify: 2014-09-19 16:08:35.000000000 +0300-16:08:35.000000000-

所以输出可以是这样的:

so the output can be like this :

OCS_dmobfw1-oam_d01_20140423_223805.csvOCS_dmobfw1-oam_d01_20140423_223905.csv

OCS_dmobfw1-oam_d01_20140423_223805.csv OCS_dmobfw1-oam_d01_20140423_223905.csv

我试过:

 for name in Modify* ;
do
 mv "$name"  $(echo $name | sed 's/Modify: 2014-09-19 16:18:14.000000000 +0300-16:18:14.000000000-/ /g') ;
done

推荐答案

例如:

for name in Modify*
do
    echo mv "$name" "$(sed -E 's/Modify: .{55}//'<<<"$name")"
done

如果满意就去除回声..

remove the echo if satisfied..

<<< 是 bash 扩展,如果你没有 bash 使用

The <<< is bash extension, if you don't have bash use

    echo mv "$name" "$(echo "$name" | sed -E 's/Modify: .{55}//')"

如果每个文件都包含OCS,你可以使用更短的:

If every file contains the OCS, you could use the shorter:

    echo mv "$name" "$(grep -o 'OCS.*' <<<"$name")"

这篇关于如何在unix中重命名多个文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆