2017-11-07 5 views
0

Ich möchte den Dateinamen mit Shell-Skript ändern.Wie ändere ich den Dateinamen in der Shell?

Origin Dateinamen sind aa.docs_YYYYMMDDhhmmss, bb.pdf_YYYYMMDDhhmmss, cc.xxx_YYYYMMDDhhmmss und mehr. YYYYMMDDhhmmss ist derzeit einzigartig.

Zieldateinamen befinden sich in der Oracle DB-Tabelle und sind xxx.docs_YYYYMMDDhhmmss.

Die gleichen haben YYYYMMDDhhmmss.

Wie ändert man den Dateinamen von DB mit Shell-Skript?

+0

Dies ist keine Frage. https://stackoverflow.com/help/how-to-ask –

+0

Was ist die Verbindung zwischen Quelldateinamen und Zieldateinamen? –

+0

YYYYMMDDhhmmss ist der Link – USER

Antwort

1

Versuchen Sie so etwas. Sie sollten den richtigen Wert für YYYYMMDDhhmmss gemäß Ihrer Quelldateien verwenden.

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 
Verwandte Themen