nur den ersten Treffer greppen
Hallo suse-linux liste, ich verwende in einem Script: grep -o "[[:alnum:]_-]\+.PDF" $logfile > $errfiles Dies Filtert mir den gewünschten Dateinamen aus einem Log-File. Funktioniert wunderbar. Es kann aber passieren, dass die gleiche Datei 2 oder mehrmals dort drin steht. Sprich in $errfiles wird sie auch x mal reingeschrieben. Wie kann ich das auf 1x limitieren ? Oder kann ich Duplikate irgendwie aus $errfiles raushauen ? Ich brauche diese $errfiles zur weiterverarbeitung, und da stören mich die doppelten gewaltig :) Danke, -- MfG Yann Wissenbach - Administration/Support compass Gesellschaft fuer Medientechnologie mbH Robert-Koch-Str. 35 D-55129 Mainz mail: y.wissenbach@compass-online.de www : http://www.compass-online.de fon : +49 6131 90 63 - 121 fax : +49 6131 90 63 - 222
On Tue, Dec 09, 2003 at 11:37:36AM +0100, Yann Wissenbach wrote:
ich verwende in einem Script: grep -o "[[:alnum:]_-]\+.PDF" $logfile > $errfiles
Wie kann ich das auf 1x limitieren ?
info "(grep)Invoking": `-m NUM' `--max-count=NUM' Stop reading a file after NUM matching lines.
Oder kann ich Duplikate irgendwie aus $errfiles raushauen ?
uniq -- Have fun, Peter
Peter Wiersig schrieb:
On Tue, Dec 09, 2003 at 11:37:36AM +0100, Yann Wissenbach wrote:
[...] Oder kann ich Duplikate irgendwie aus $errfiles raushauen ?
uniq
Ergaenzung: Vorsicht, das geht nur, wenn die Duplikate unmittelbar aufeinander folgen, die Liste also sortiert ist. Sonst bewirkt uniq nicht sehr viel, wie ich auch schon mal verzweifelt feststellen durfte in der Vergangenheit... Wenn man es sich allerdings genau ueberlegt, ist das einigermassen logisch und es steht auch in der info- Seite so drin. CU, Th.
On Tue, Dec 09, 2003 at 01:22:03PM +0100, Thomas Hertweck wrote:
Peter Wiersig schrieb:
On Tue, Dec 09, 2003 at 11:37:36AM +0100, Yann Wissenbach wrote:
[...] Oder kann ich Duplikate irgendwie aus $errfiles raushauen ?
uniq
Ergaenzung: Vorsicht, das geht nur, wenn die Duplikate unmittelbar aufeinander folgen, die Liste also sortiert ist.
Stimmt, hatte ich grad nicht dran gedacht. Wer die Liste noch sortieren muss, kann "sort -u" benutzen, das dann beides erledigt. -- Have fun, Peter
Hallo Yann, * Yann schrieb am 09.12.2003:
Hallo suse-linux liste,
ich verwende in einem Script:
grep -o "[[:alnum:]_-]\+.PDF" $logfile > $errfiles
Dies Filtert mir den gewünschten Dateinamen aus einem Log-File. Funktioniert wunderbar. Es kann aber passieren, dass die gleiche Datei 2 oder mehrmals dort drin steht. Sprich in $errfiles wird sie auch x mal reingeschrieben. Wie kann ich das auf 1x limitieren ? Oder kann ich Duplikate irgendwie aus $errfiles raushauen ? Ich brauche diese $errfiles zur weiterverarbeitung, und da stören mich die doppelten gewaltig :)
grep -o "[[:alnum:]_-]\+.PDF" $logfile | sort -u > $errfiles Vorsicht: ... | uniq > ... geht prinzipiell nicht, da uniq eine bereits sortierte Eingabe erwartet. Grüße, Tom
am 09.12.2003, 14:21, schrieben Sie:
Hallo Yann,
* Yann schrieb am 09.12.2003:
Hallo suse-linux liste,
ich verwende in einem Script:
grep -o "[[:alnum:]_-]\+.PDF" $logfile > $errfiles
[doppelte rausfiltern]
grep -o "[[:alnum:]_-]\+.PDF" $logfile | sort -u > $errfiles
Vorsicht: ... | uniq > ... geht prinzipiell nicht, da uniq eine bereits sortierte Eingabe erwartet.
Hallo suse-linux, supi... fertig sieht das jetzt so aus: [veriablendeklaration] if [ -f /tmp/ftp.job ] then # echo "another Session active ?!" exit 1 else # echo "running ftp transfer..." echo 1 > /tmp/ftp.job echo quit >> $batchfile # cd $basispfad $ncpath/ncftp -u $username -p $password $hostname < $batchfile 2>$logfile grep -o "[[:alnum:]_-]\+.PDF" $logfile >> $errfiles sort -u $errfiles > /tmp/err.tmp uniq /tmp/err.tmp > $errfiles # rm -f $batchfile echo "done" rm -f /tmp/ftp.job fi :-) -- MfG Yann Wissenbach - Administration/Support compass Gesellschaft fuer Medientechnologie mbH Robert-Koch-Str. 35 D-55129 Mainz mail: y.wissenbach@compass-online.de www : http://www.compass-online.de fon : +49 6131 90 63 - 121 fax : +49 6131 90 63 - 222
Hallo Yann, Am Dienstag, 9. Dezember 2003 11:37 schrieb Yann Wissenbach:
Hallo suse-linux liste,
ich verwende in einem Script:
grep -o "[[:alnum:]_-]\+.PDF" $logfile > $errfiles
Dies Filtert mir den gewünschten Dateinamen aus einem Log-File. Funktioniert wunderbar. Es kann aber passieren, dass die gleiche Datei 2 oder mehrmals dort drin steht. Sprich in $errfiles wird sie auch x mal reingeschrieben. Wie kann ich das auf 1x limitieren ? Oder kann ich Duplikate irgendwie aus $errfiles raushauen ? Ich brauche diese $errfiles zur weiterverarbeitung, und da stören mich die doppelten gewaltig :)
Schau dir mal uniq an. Gruß Frank
participants (5)
-
Frank Babies
-
Peter Wiersig
-
Thomas Hertweck
-
Thomas Preissler
-
Yann Wissenbach