Verzeichnisliste in Datei ausgeben

S

sprudell

Jungspund
Mal ne frage,

find /etc -iname '*.conf' | sed -e "s/$/;/" >> test.txt

/etc/samba/smb.conf;
/etc/krb5.conf;
/etc/syslog.conf;
/etc/insserv.conf;
/etc/mysqlaccess.conf;

Der Idealfall müsste so aussehen:

\\192.168.0.1\etc\samba\smb.conf;smb.conf;
\\192.168.0.1\etc\krb5.conf;krb5.conf;
\\192.168.0.1\etc\syslog.conf;syslog.conf;

Ist das Realisierbar? Und wenn ja wie?
währe für jede Hilfe Dankbar!

Gruß Gero
 
Teil 1:
find /etc -iname '*.conf' | sed -e "s/$/;/" | sed -e "s/\//\\\/g" >> test.txt

Teil 2:
/sbin/ifconfig eth0 | grep "inet" | awk '{ print $2 }' | awk -F ':' '{ print $2 }'
 
Zuletzt bearbeitet:
find /etc -name "*.conf" -print | sed -e 's/\//\\/g' | \
awk -F"\\" '{print "\\\\192.168.0.1" $0 ";" $NF ";"}' > test.txt

Den Hostnamen kann man selbstverständlich auch mit einbinden, dann lautet die zweite Zeile:
awk -F"\\" '{print "\\\\" ENVIRON["HOSTNAME"] $0 ";" $NF ";"}'


Gruß,
Jobi
 
Zuletzt bearbeitet:
@JoBi
warst etwas schneller mit Teil 2 ;-) ich bin aber auch gerade beim schaffen
 
@JoBi den hab ich nachtraeglich mit dem aendern Butten angefuegt
 
Klappt super :) Danke, nur jetzt noch 1x nerven :)

ich brauch folgendes:

\\192.168.0.1\etc\samba\smb.conf;smb.conf;01.01.2003;17:30;

also jeweils Datum/Uhrzeit jeder datei dahinter ....
 
Da würde ich aber jetzt zu einer etwas leistungsfähigeren Scriptsprache überwechseln, z.B. tclsh:

#!/usr/bin/tclsh
set list [exec find /etc/isdn -name "*.conf"]
foreach a $list {
regsub -all "\/" $a "\\" b
puts "\\\\192.168.0.1$b;[file tail $a];[clock format [file mtime $a] -format "%d.%m.%Y;%H:%M"]"
}

Jobi
 
KLASSE! :)

Nur wie kann ich das ganze jetzt in eine Datei ausgeben?

gruß Gero
 
#!/usr/bin/tclsh
set list [exec find /etc/isdn -name "*.conf"]
foreach a $list {
regsub -all "\/" $a "\\" b
puts "\\\\192.168.0.1$b;[file tail $a];[clock format [file mtime $a] -format "%d.%m.%Y;%H:%M"]"
} > text.txt

So Vielleicht ?? oder wie? "aufderleitungsteh" :)

Gruß Gero
 
Hab´s!

bin von der leitung runtergekommen :))

vielen dank mochmals, hast mir sehr geholfen :))

gruß Gero
 
Hi,

folgendes Problem:

could not read "/grafik/Dokumente": no such file or directory
while executing
"file mtime $a"
("foreach" body line 3)
invoked from within
"foreach a $list {
regsub -all "\/" $a "\\" b
puts "\\\\192.168.0.8$b;[file tail $a];[clock format [file mtime $a] -format "%d.%m.%Y;%H:%M"]"
}"
(file "./go" line 6)

Das liegt daran das das Verzeichnis nicht "Dokumente" heisst sondern
"Dokumente und Einstellungen heisst"... kann man das Lösen das er
auch Verzeichnisse/Dateinamen mit Leerzeichen nimmt?

gruß Gero
 
ja, man muss die leerzeichen maskieren mit einem
"\" imho.

also "Dokumente \und \Einstellungen"

aber keine garantie :-)
 
Hi,

und wie müsste ich das "\" imho. hier einbauen? :

#!/usr/bin/tclsh
set list [exec find /etc/isdn -name "*.conf"]
foreach a $list {
regsub -all "\/" $a "\\" b
puts "\\\\192.168.0.1$b;[file tail $a];[clock format [file mtime $a] -format "%d.%m.%Y;%H:%M"]"
}

sorry bin da nicht grad der profi ;)

gruß Gero
 
Hi,

si ich hab jetzt erstmal wochenende, und daheim ärger mit der
Telekom :( naja wie immer halt :) Montag wieder :)

Gruß Gero
 
Hi,

also bin wieder da :)

#!/usr/bin/tclsh
set list [exec find /etc/isdn -name "*.conf"]
foreach a $list {
regsub -all "\/" $a "\\" b
puts "\\\\192.168.0.1$b;[file tail $a];[clock format [file mtime $a] -format "%d.%m.%Y;%H:%M"]"
}

das script ist ein traum, nur wie muss ich es verändern das er mir auch
leerzeichen (im pfad und dateinamen) übernimmt??

währe für jede hilfe dankbar

gruß Gero
 
Hi,

damager hatte schon recht, die Leerzeichen müssen noch maskiert werden:

#!/usr/bin/tclsh
set list [exec find /etc/isdn -name "*.conf"]
regsub -all { } $list "\\ " list
foreach a $list {
regsub -all "\/" $a "\\" b
puts "\\\\192.168.0.1$b;[file tail $a];[clock format [file mtime $a] -format "%d.%m.%Y;%H:%M"]"
} > datei.txt

soll's dann tun.
Auch alles verstanden, was das Ding so macht? ;-)

Gruß, Jobi
 
Hi,

ah ja super, aber begriffen hab ichs nicht so 100% ;)
aber kommt zeit kommt mehr wissen (hoff ich doch) *g*

gruß Gero
 

Ähnliche Themen

SSD auf einen (geringfügig) kleineren USB-Stick wiederherstellen

Queue für copy Script

bash: Fehlermeldung und Werte in Array sortieren?

Last mit etc/passwd anzeigen lassen

Mehrzeiligen String mittels sed ersetzen

Zurück
Oben