[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] shell 批量更改电影的名字===自己解决问题(结帖)

本帖最后由 hacker85 于 2012-4-3 20:59 编辑

有这样一部电影,名字如下,在电视里放映的时候没有办法设置显示风格,于是在一堆缩略图标中找到某某集太不容易了。
[6v电影www.dy131.com]斯巴达克斯:复仇.第二季HD中英双字1280高清02.rmvb
[6v电影www.dy131.com]斯巴达克斯:复仇.第二季HD中英双字1280高清03.rmvb
[6v电影www.dy131.com]斯巴达克斯:复仇.第二季HD中英双字1280高清07.rmvb
【更多电视剧请去www.dy131.com】斯巴达克斯第二季04集1024x576[中英双字].rmvb
【更多电视剧请去www.dy131.com】斯巴达克斯第二季05集1024x576[中英双字].rmvb
【更多电视剧请去www.dy131.com】斯巴达克斯第二季06集1024x576[中英双字].rmvb
【更多美剧请去www.dy131.com】斯巴达克斯:复仇.第二季1024高清01正式版.mkv
【更多美剧请去www.dy131.com】斯巴达克斯:复仇.第二季1024高清08.mkv
【更多美剧请去www.dy131.com】斯巴达克斯:复仇.第二季1024高清09.mkv
【更多美剧请去www.dy131.com】斯巴达克斯:复仇.第二季1024高清10.mkv

================================================
以上是所有电影的名字,它们格式不尽相同,他们的名字也不相同……
在shell下怎么改呢?
文件扩展名不要变,只要变前面的部分就可以了,希望变成:
01.mkv
03.rmvb
......

才发现,我竟然没有下载第二集,嘻嘻。
================================================

注:这个电影相当不错,准确地说是美剧,哈哈。

本帖最后由 hacker85 于 2013-1-17 13:48 编辑

貌似对于这样的文件名,即使是用批处理也不容易一下子实现,确实不容易。

给出这两段代码,以提供思路:
一、
vi mv.sh
#!/bin/bash

ls *.jpg >file.txt

for i in $(cat file.txt)
do
name=$(echo $i|awk -F\\ '{print $4}')
mv $i $name
done

二、
#!/bin/sh
var=0;
for fname in *;
do
var=$((var+1));
if [ $fname = bat_change_file_name.sh ];
then
var=$((var-1));
else
mv $fname $var.mp3;
fi
done

TOP

顶上去

TOP

1、
     $ ls | awk -F '清' '{print $2}'
2、
     $ ls | awk -F '季' '{print $2}'
3、
     $ ls | awk -F '集' '{print $1}'
1

评分人数

    • ivor: 助人为乐- -!技术 + 1

TOP

来个文艺青年版的:
  1. paste -d '' <(ls | sed 's/.*[^0-9]\+\([0-9][0-9]\)[^0-9]\+.*/\1/') <(ls | sed 's/.*\(\.[a-z]\+\)$/\1/')
复制代码
早中晚各问自己一遍:你平均每周帮助别人解决几个问题?

TOP

另外一个文艺青年:
  1. ls | sed 's/.*[^0-9]\([0-9][0-9]\.[a-z]\+\)$/\1/' | sed 's/.*[^0-9]\([0-9][0-9]\)[^0-9].*\(\.[a-z]\+\)$/\1\2/'
复制代码
早中晚各问自己一遍:你平均每周帮助别人解决几个问题?

TOP

回复 6# find


    呵呵,谢谢你的回复,不过说实话,5楼和6楼的代码我没有太看懂,能说说怎么理解吗?

TOP

回复 7# hacker85


    6楼是正则,5楼是进程替换,找本教程看看就懂了。

TOP

回复 8# gawk


    手头如果有现成的教程的话,麻烦告之一下名字,我去下载学习一下。

TOP

返回列表