File Manipulation: Scripting Question
Ich habe ein Skript, das eine Verbindung zur Datenbank herstellt und alle Datensätze abruft, die die Abfrage statisieren. Diese Datensatzergebnisse sind Dateien, die auf einem Server vorhanden sind. Jetzt habe ich eine Textdatei, in der alle Dateinamen enthalten sind.
Ich möchte ein Skript, das wissen würde:
Was ist die Größe jeder Datei imoutput.txt
DateiWie groß sind alle Dateien in dieser Textdatei?Aktualisieren Ich möchte wissen, wie ich meine Aufgabe mit @ erfüllen kanPerl programming language
, alle Eingaben wäre sehr dankbar.
Hinweis Ich habe keine spezifische Spracheinschränkung. Es kann sich um Perl- oder Python-Skriptsprache handeln, die ich über die Unix-Eingabeaufforderung ausführen kann. Zur Zeit benutze ich die Bash-Shell und habesh
undpy
Skript. Wie geht das?
Meine Skripte:
#!/usr/bin/ksh
export ORACLE_HOME=database specific details
export PATH=$ORACLE_HOME/bin:path information
sqlplus database server information<<EOF
SET HEADING OFF
SET ECHO OFF
SET PAGESIZE 0
SET LINESIZE 1000
SPOOL output.txt
select * from my table_name;
SPOOL OFF
EOF
Ich kennedu -h
wäre der Befehl, den ich verwenden sollte, aber ich bin nicht sicher, wie mein Skript sein soll, ich habe etwas in Python ausprobiert. Ich bin völlig neu in Python und es ist meine erste Anstrengung.
Hier ist es
import os
folderpath='folder_path'
file=open('output file which has all listing of query result','r')
for line in file:
filename=line.strip()
filename=filename.replace(' ', '\ ')
fullpath=folderpath+filename
# print (fullpath)
os.system('du -h '+fullpath)
Dateinamen in der ausgegebenen Textdatei lauten beispielsweise wie folgt:007_009_Bond Is Here_009_Yippie.doc
Jede Anleitung wäre sehr dankbar.
Aktualisieren
Wie kann ich alle Dateien verschieben, die in @ vorhanden sinoutput.txt
-Datei mit @ in einen anderen Ordner verschiebPerl
?Wie kann ich nach Schritt 1 alle Dateien in der Datei output.txt löschen?Anregungen wäre sehr dankbar.