Nur die Oberste Datei aus Verzeichnis löschen

J

Janine

Eroberer
Hallo Jungs,

Frage wie kann ich aus diesem Block (Steht so in einer Datei drin Dateiname "log") nur den ROT Markierten Teil ausschneiden und als Variable speichern?

-rw-r--r-- 1 root root 0 2007-09-12 09:19 FULL_a
-rw-r--r-- 1 root root 0 2007-09-12 09:19 FULL_b
-rw-r--r-- 1 root root 0 2007-09-12 09:19 FULL_c
-rw-r--r-- 1 root root 0 2007-09-12 09:56 FULL_d



müsste doch iwas mit cut sein schätz ich mal nur das Prob ist wie kann ich beim cut als Trennsymbol ein Leerzeichen angeben?

Oder hat jemand nen anderen Vorschlag

MfG
 
Ich glaube eh, wir haben die Frage falsch verstanden. Scheinbar hat sie ja die Angaben in einer Datei drin:
Code:
cat dateiname | awk 'NR==1 {print $NF}'
 
Code:
barfoo1=$(sed '1q' dateiname)
barfoo2=$(awk 'NR==1 {print}' dateiname)
barfoo3=$(perl -e 'print [<>]->[0]' dateiname)
 
Zuletzt bearbeitet:
Ihr nerds, glaubt ihr nicht das EINE Lösung gereicht hätte?.......:D
 
Erste Zeile aus einer Datei ausgeben:
Code:
#am schnellsten und sparsamsten
var=$(head -n1 filename)
#wenigste Tipparbeit mit sed
var=$(sed -e '1q' filename)
# am coolsten mit perl
var=$(perl -pe '(1..1)?1:exit' filename)
#weniger performant, aber funktionabel ;)
var=$(awk 'NR==1{print}')
Such dir was aus.

Schau dir unbedingt mal die Basics von deiner verwendeten Shell an.
Dann fallen dir auch gleich viele Lösungen für das gleiche Problem ein. ;)

Gruß Wolfgang
 
Hi,

ich denke
Code:
cat dateiname | awk 'NR==1 {print $NF}'
kommt dem schon am nächsten (es wird ja der rot markierte Teil - also die letzte Spalte der ersten Zeile - gesucht, und nicht die ganze Zeile).
Jetzt wären nur noch Vorsorgemaßnahme für unübliche Dateinamen wie z. B. solchen die blanks enthalten zu treffen.

Da mir in awk keine "von-bis-Angaben" für die Spaltenauswahl bekannt ist, würde ich cut vorschlagen:

Code:
awk NR==1 dateiname | cut -d" " -f8-
sed 1q dateiname | cut -d" " -f8-
...<insert_first_line_code_here> | cut -d" " -f8-

Gruß Daniel
 
Zuletzt bearbeitet:
Code:
foo=$(awk 'NR==1{print $NF}' dateiname)
foo=$(perl -e 'print [split /\s/, [<>]->[0]]->[-1]' dateiname)

sollte gut sein :)

Code:
foo=$(perl -a -ne '$. == 1 && print $F[-1]' dateiname)
foo=$(perl -ne '$. == 1 && print [split / /, $_]->[-1]' dateiname)
 
Zuletzt bearbeitet:
Muahahahaha wusste gar nicht das ihr so witzig sein könnt freut mich aber ^^ und danke für die netten antworten hab nur noch auf das

lmao=`ls | awk 'NR==1 {print}'`

gewartet :)
 

Ähnliche Themen

Finde Fehler im Code nicht

Mein Server versendet SPAM in Massen

Löschroutine mit Überprüfung

Gleicher Befehl über Script -> Fehler?

HP PSC 2175 - CUPS druckt nicht

Zurück
Oben