正则表达式:提取并移动字符串中的模式

时间:2013-05-31 17:18:15

标签: php regex shell

我正在尝试查看是否可以使用正则表达式重命名目录中的长文件列表。

即,当前文件名采用以下格式:

filename_[2013_05_30].mp4

我想将其重命名为以下格式:

[2013_05_30]_filename.mp4

我正在使用Linux(Ubuntu)并且可以使用shell脚本或php。

谢谢!

2 个答案:

答案 0 :(得分:1)

这里有几种不同的方法可以完成从unix stackexchange重命名linux shell脚本(包括regex)中的文件: https://unix.stackexchange.com/questions/7161/copy-rename-multiple-files-using-regular-expression-shell-script

我希望这有帮助!

答案 1 :(得分:1)

之前备份您的文件。

用这一行测试:

ls *].mp4 | sed 's/^\(.*\)_\(\[[0-9_]*]\)\.mp4$/mv & \2_\1.mp4/'

如果您确定,请添加| sh

ls *].mp4 | sed 's/^\(.*\)_\(\[[0-9_]*]\)\.mp4$/mv & \2_\1.mp4/' | sh