分页: 1 / 1
请教一脚本问题
发表于 : 2009-10-28 18:49
由 dblinksoft
请教大侠,我现在想实现一个功能:
将以文件a.txt中的第一列命名的文件改为文件a.txt第二列的名字(两个字段间有三个空格)。a.txt如格式:
090145 0931
090146 0928
090147 0931
090148 0930
090149 0928
现在要将090145.jpg改为名0931.jpg,090146.jpg改名为0928.jpg。。。以此类推。不知如何实现?请大侠们赐教,谢谢。
Re: 请教一脚本问题
发表于 : 2009-10-28 18:59
由 yaoms
代码: 全选
awk '{system("mv -v "$1".jpg "$2".jpg")}' a.txt
Re: 请教一脚本问题
发表于 : 2009-10-28 18:59
由 O_O_BOT
irc <fvw> say: sed 's/\(.*\) \(.*\)/mv \1.jpg \2.jpg/g'
Re: 请教一脚本问题
发表于 : 2009-10-28 19:02
由 O_O_BOT
irc <fvw> say: awk '{system("mv -v "$1".jpg "$2".jpg")}' a.txt
Re: 请教一脚本问题
发表于 : 2009-10-28 19:14
由 cnkilior
代码: 全选
#!/usr/bin/perl -w
while (<>){
($from $to)=split /\s+/,$_;
system "mv $from $to";
}
Re: 请教一脚本问题
发表于 : 2009-10-28 19:22
由 dblinksoft
yaoms 写了:代码: 全选
awk '{system("mv -v "$1".jpg "$2".jpg")}' a.txt
谢谢,这个方法不错
Re: 请教一脚本问题
发表于 : 2009-10-29 0:05
由 xzap
yaoms 写了:代码: 全选
awk '{system("mv -v "$1".jpg "$2".jpg")}' a.txt
学习了,原来awk还可以这样用
Re: 请教一脚本问题
发表于 : 2009-10-30 22:46
由 aerofox
再补充两种方法:
代码: 全选
while read old new; do mv $old.jpg $new.jpg; done < a.txt
sed 's/[[:digit:]]\+/&.jpg/g' a.txt | xargs -n 2 mv
Re: 请教一脚本问题
发表于 : 2009-11-08 21:05
由 tusooa
代码: 全选
cat "<FILE>" | while read line; do
arg[0]=$(echo $line | awk '{print $1}')
arg[1]=$(echo $line | awk '{print $2}')
mv -v ${arg[0]}.jpg ${arg[1]}.jpg
done