我正在递归地重命名目录中的目录和文件。
alan/
alan_0001.txt
alan_0002.txt
andy/
andy_0001.txt
andy_0002.txt
andytwo/
andytwo_0001.txt
andytwo_0002.txt
我有一个制表符分隔的文件(希望在这里复制),它提供了文件名的新信息;例如
alan 123_123 Alan's Place
andy 124_010 Andy's Place
andytwo 125_001 Andy's Second Place
我已经制定了以下 shell 脚本,但我不确定如何在脚本的早期传递值以在最后找到。
#!/bin/sh
FILE="sample-list.txt"
exec 3<&0
exec 0<$FILE
while read line
do
echo $line
oldName=`echo "$line" | cut -f1`
adminDB=`echo "$line" | cut -f2`
title=`echo "$line" | cut -f3`
echo "$oldName is old, his number is $adminDB, and the title is $title"
echo "renaming files"
# echo find -name '{$oldName}*'
echo "`find ./ -name '${oldName}*'`"
done
exec 0<&3
我想使用通配符$oldName
来捕获 andy_0001, _0002 文件并将它们重命名为find ./ -name ${oldName}* -exec rename $oldName $adminDB {} \;
提前致谢!