gpt4 book ai didi

linux - Bash - 从数据库值递归重命名文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:55:21 24 4
gpt4 key购买 nike

我对 Linux 还很陌生。

我有一个文件夹,其中包含大约 1000 个文件,并且文件名存储在数据库下。

我想要做的是用同一数据库中的另一个值递归地重命名所有这些。

我的数据库结构

oldVal      | newVal
oldFileName | newFileName

最短、最有效的方法是什么?

预先感谢您的提示。

最佳答案

可以将数据库信息导出到文本文件吗?如果是,并且对于 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

关于linux - Bash - 从数据库值递归重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48031467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com