我对Linux很陌生。
我有一个文件夹,其中包含大约1000个文件,并且该文件名存储在数据库中。
我想要做的是使用同一数据库中的另一个值递归重命名所有这些。
我的数据库结构
oldVal | newVal
oldFileName | newFileName
最简短,最有效的方法是什么?
提前感谢您的提示。
答案 0 :(得分:1)
可以将数据库信息导出到文本文件吗?如果是,对于MySQL数据库,您可以试试这个。
首先,在MySQL中执行此查询......
SELECT field1,field2
FROM table
INTO OUTFILE '/your/path/with/files/to/rename/export.txt'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
之后,转到 / your / path / with / files / to / rename / 文件夹并粘贴此内容...
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
LIST=`cat /your/path/with/files/to/rename/export.txt`
for i in $LIST ;
do
field1=`echo $i | cut -d',' -f1`
field2=`echo $i | cut -d',' -f2`
\mv "./"$field1 "./"$field2
done
IFS=$SAVEIFS