描述: 一个目录有上百个文件,文件为f001.txt,f002.txt,f003.txt… 。dirindex文件有这样的内容:
f001
小说名一
f002
小说名二
f003
小说名三
…
将所有文件攺名为: 小说名一.txt,小说名二.txt,小说名三.txt… 脚本如下:
#!/bin/bash
for i in *.txt;do
num=$(grep -n ${i%%.txt} dirindex | sed s/:.*//g)
name=$(sed -n $((num+1))p dirindex | tr -d '\r').txt
echo $name
mv $i $name
done
exit
注:这个脚本时间比较长了,现用zsh,zmv很方便,这类问题很容易解决(2011.11.20)