我想使用shell脚本更改文件名。
原始文件名为aa.docs_YYYYMMDDhhmmss
,bb.pdf_YYYYMMDDhhmmss
,cc.xxx_YYYYMMDDhhmmss
等。 YYYYMMDDhhmmss
目前是独一无二的。
目标文件名在Oracle DB Table中,并且为xxx.docs_YYYYMMDDhhmmss
。
那些具有相同的YYYYMMDDhhmmss
。
如何使用shell脚本从DB更改文件名?
答案 0 :(得分:1)
尝试这样的事情。您应该根据源文件使用YYYYMMDDhhmmss
的正确值。
for file_name in *_YYYYMMDDhhmmss
do
file_type=`echo $file_name | cut -f2 -d '.' | cut -f1 -d '_'`
file_date=`echo $file_name | cut -f2 -d '.' | cut -f2 -d '_'`
db_filename=`sqlplus -s user/pwd <<INP
set heading off
set pagesize 0
select file_name from yourtable where file_name like '%${file_type}%${file_date}';
INP`
mv ${file_name} ${db_filename}
done