请教大侠,我现在想实现一个功能:
将以文件a.txt中的第一列命名的文件改为文件a.txt第二列的名字(两个字段间有三个空格)。a.txt如格式:
090145 0931
090146 0928
090147 0931
090148 0930
090149 0928
现在要将090145.jpg改为名0931.jpg,090146.jpg改名为0928.jpg。。。以此类推。不知如何实现?请大侠们赐教,谢谢。
请教一脚本问题
-
- 帖子: 2
- 注册时间: 2009-10-28 18:46
- yaoms
- 帖子: 4952
- 注册时间: 2007-10-19 14:51
- 来自: 深圳
Re: 请教一脚本问题
代码: 全选
awk '{system("mv -v "$1".jpg "$2".jpg")}' a.txt
Nothing 有事请发邮件到 yms541 AT gmail.com
alias 爱慕颇雷尔='mplayer'
alias 爱慕颇雷尔='mplayer'
- O_O_BOT
- 帖子: 2461
- 注册时间: 2009-05-20 19:32
Re: 请教一脚本问题
irc <fvw> say: sed 's/\(.*\) \(.*\)/mv \1.jpg \2.jpg/g'
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录
http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录
http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
- O_O_BOT
- 帖子: 2461
- 注册时间: 2009-05-20 19:32
Re: 请教一脚本问题
irc <fvw> say: awk '{system("mv -v "$1".jpg "$2".jpg")}' a.txt
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录
http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录
http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
- cnkilior
- 论坛版主
- 帖子: 4984
- 注册时间: 2007-08-05 17:40
Re: 请教一脚本问题
代码: 全选
#!/usr/bin/perl -w
while (<>){
($from $to)=split /\s+/,$_;
system "mv $from $to";
}
-
- 帖子: 2
- 注册时间: 2009-10-28 18:46
Re: 请教一脚本问题
yaoms 写了:代码: 全选
awk '{system("mv -v "$1".jpg "$2".jpg")}' a.txt
谢谢,这个方法不错
- xzap
- 帖子: 256
- 注册时间: 2006-08-24 21:25
Re: 请教一脚本问题
学习了,原来awk还可以这样用yaoms 写了:代码: 全选
awk '{system("mv -v "$1".jpg "$2".jpg")}' a.txt
-
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
Re: 请教一脚本问题
再补充两种方法:
代码: 全选
while read old new; do mv $old.jpg $new.jpg; done < a.txt
sed 's/[[:digit:]]\+/&.jpg/g' a.txt | xargs -n 2 mv