
Hi, ich stehe gerade auf dem Schlauch ... Aus einer Textdatei lese ich Zeilen aus. Wie teste ich ob ich (k)eine Leerzeile (Linefeed; 0x0A; 012; Ctrl-J) vor mir habe? if [ "$line" != 0x0a ] ; then klappt schon mal nicht (Bash 3.2) (hexdump zeigt das es 0a ist!) Bernd -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

$LINE != "" ? Oder [ -z $LINE ] ? Gruß Daniel Am 04/04/2017 um 04:33 PM schrieb Bernd Nachtigall:
-- Daniel Spannbauer Systemadministration marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4-6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am 04.04.2017 um 16:33 schrieb Bernd Nachtigall:
bernd@leni:~> line="\n" bernd@leni:~> [ "x$line" != "x\n" ] && echo no || echo ok bernd@leni:/tmp> cat /tmp/txtfile hallo vorherige Zeile war leer na sowas vorherige Zeile war auch leer ## Zeilen mit Kommentar ausgeben bernd@leni:/tmp> while read line ; do echo -ne "´$line´ "; \ [ "x$line" = "x" ] && echo "only newline" || echo Text; done \ </tmp/txtfile ´hallo´ Text ´´ only newline ´vorherige Zeile war leer´ Text ´na sowas´ Text ´´ only newline ## nur zeilen mit text ausgeben bernd@leni:/tmp> awk '!/^$/ {print $0'} txtfile hallo vorherige Zeile war leer na sowas vorherige Zeile war auch leer bernd@leni:/tmp> _ Gruss bernd -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Moin moin Am 2017-04-04 16:33, schrieb Bernd Nachtigall:
bei mir funktioniert ein solches Konstrukt -- schnipp --> #!/bin/bash while read -r line ; do echo "Processing $line" # your code goes here done < <(egrep -v '^\s*$|^#' test.txt) <-- schnapp -- vllt. hilft es ja lg max p.s. Sorry für PN
Bernd
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

$LINE != "" ? Oder [ -z $LINE ] ? Gruß Daniel Am 04/04/2017 um 04:33 PM schrieb Bernd Nachtigall:
-- Daniel Spannbauer Systemadministration marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4-6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am 04.04.2017 um 16:33 schrieb Bernd Nachtigall:
bernd@leni:~> line="\n" bernd@leni:~> [ "x$line" != "x\n" ] && echo no || echo ok bernd@leni:/tmp> cat /tmp/txtfile hallo vorherige Zeile war leer na sowas vorherige Zeile war auch leer ## Zeilen mit Kommentar ausgeben bernd@leni:/tmp> while read line ; do echo -ne "´$line´ "; \ [ "x$line" = "x" ] && echo "only newline" || echo Text; done \ </tmp/txtfile ´hallo´ Text ´´ only newline ´vorherige Zeile war leer´ Text ´na sowas´ Text ´´ only newline ## nur zeilen mit text ausgeben bernd@leni:/tmp> awk '!/^$/ {print $0'} txtfile hallo vorherige Zeile war leer na sowas vorherige Zeile war auch leer bernd@leni:/tmp> _ Gruss bernd -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Moin moin Am 2017-04-04 16:33, schrieb Bernd Nachtigall:
bei mir funktioniert ein solches Konstrukt -- schnipp --> #!/bin/bash while read -r line ; do echo "Processing $line" # your code goes here done < <(egrep -v '^\s*$|^#' test.txt) <-- schnapp -- vllt. hilft es ja lg max p.s. Sorry für PN
Bernd
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (5)
-
Bernd Nachtigall
-
Bernd Obermayr
-
Daniel Spannbauer
-
Harald Stürmer
-
Markus Heinze