Zeile mit beliebigen Sonderzeichen ausgeben

Diskutiere Zeile mit beliebigen Sonderzeichen ausgeben im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hallo Leute, leider habe ich keine Lösung für mein Problem im Netz gefunden. Ich habe eine zufällig generierte Textdatei, die ich zeilenweise...

  1. #1 Gast123, 26.01.2012
    Gast123

    Gast123 Guest

    Hallo Leute,

    leider habe ich keine Lösung für mein Problem im Netz gefunden.
    Ich habe eine zufällig generierte Textdatei, die ich zeilenweise auslesen möchte.
    Dies mache ich mit
    Code:
    while read LINE; do /bin/echo -E "$FILE"; done < file;
    Leider interpretiert echo Sonderzeichen, sodass z.B. bei einem aufkommenden "\" dieses als Esacape Character für das folgende Zeichen gewertet wird.
    Das möchte ich aber nicht. Ich will stumpf den Zeichstring in $LINE ausgeben.
    Kann mir jemand einen Tipp geben, wie ich das realisieren könnte?

    Danke schonmal.

    MfG

    Schard
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 marcellus, 26.01.2012
    marcellus

    marcellus Kaiser

    Dabei seit:
    09.05.2007
    Beiträge:
    1.392
    Zustimmungen:
    0
    Zum einen Zeilenweise ausgeben von binären Daten kannst du vergessen, du hast die Zeichenfolge \CR\LF (Carriage Return, Line Feed), die deine Zeilen trennen soll, aber da du die Daten ja nicht interpretieren willst kannst du auch nicht wissen wo die Zeilenumbrüche sind.

    Zusätzlich hast du noch einen riesigen Haufen an Zeichen, die keine Zeichen haben, Steuerzeichen und dergleichen.

    Was willst du überhaupt machen?
     
  4. #3 Gast123, 26.01.2012
    Zuletzt von einem Moderator bearbeitet: 26.01.2012
    Gast123

    Gast123 Guest

    Hey, habe es zufällig (Probieren geht eben doch über Studieren) so gelößt:
    Code:
    #! /bin/bash
    
    TEMPLATE=`dirname $0`/fortune-template.htt
    OUTPUT_FILE=`dirname $0`/fortune-web.html
    TMP_FILE=/tmp/fortune-cowsay.tmp
    
    COWFILES="`cowsay -l | grep -vi "cow files in"`"
    COWFILE="`for COW in $COWFILES; do echo $COW; done | tail -n $(($RANDOM % $(for COW in $COWFILES; do echo $COW; done | wc -l) + 1)) | head -n 1`"
    FORTUNE="`fortune -s`"
    
    while (( $# )); do
    	case $1 in
    		--template|-t)	TEMPLATE=$2
    				shift 2
    		;;
    		--tmp)		TMP_FILE=$2
    				shift 2
    		;;
    		--output|-o)	OUTPUT_FILE=$2
    				shift 2
    		;;
    		*)		echo "Unrecognized argument \"$1\"." 1>&2
    				shift
    	esac
    done		
    
    test -f $OUTPUT_FILE && rm $OUTPUT_FILE
    
    while read LINE; do	
    	if [ "$LINE" != "%FORTUNE%" ]; then
    		echo "$LINE" >> $OUTPUT_FILE
    	else
    		cowsay -f $COWFILE "$FORTUNE" > $TMP_FILE
    
    		LINES=`wc -l $TMP_FILE | cut -d " " -f 1`
    		I=1
    
    		while [ $LINES -ge $I ]; do
    			echo -n "<p> " >> $OUTPUT_FILE 
    			tail -n +$I /tmp/fortune-cowsay.tmp | head -n 1 | sed -e "s/ /\ /g" >> $OUTPUT_FILE
    			echo -n " </p>" >> $OUTPUT_FILE
    			I=$(($I+1))
    		done < $TMP_FILE
    	fi
    done < $TEMPLATE
    Wobei
    Code:
    tail -n +$I /tmp/fortune-cowsay.tmp | head -n 1 | sed -e "s/ /\ /g" >> $OUTPUT_FILE
    das "Zauberwort" ist.

    Das Skript generiert ein HTML-Dokument mit einem randomisierten cowsay-fortune als Homepage meiner Website.
    Ist erstmal nur eine Spielerei zum Testen.
     
Thema:

Zeile mit beliebigen Sonderzeichen ausgeben

Die Seite wird geladen...

Zeile mit beliebigen Sonderzeichen ausgeben - Ähnliche Themen

  1. Audioaufnahme via Komandozeile möglich

    Audioaufnahme via Komandozeile möglich: Moinsen, einige wenige male habe ich eine Audioaufnahme mit einen alten WinXP- Rechner gemacht. Es handelt sich hierbei um Radiomitschnitte mit...
  2. Summe von Zahlen in einer Zeilen bilden

    Summe von Zahlen in einer Zeilen bilden: Auf ein Neues... Ich komme bei folgender Problematik nicht weiter: Ich habe eine Datei (zahlen.txt), die ich einlese mit folgenden Daten: 111 222...
  3. Bestimmte Zeilen einer Spalte addieren

    Bestimmte Zeilen einer Spalte addieren: Hallo, würde mich über Hilfe in Form eines Unix-Befehls oder AWK bei folgendem Problem freuen: Ich habe eine Textdatei, in der Werte drin sind in...
  4. Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...

    Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...: Ich habe eine Textdatei in der ich Einträge bis zum 3. Leerzeichen mit den restlichen Zeilen (auch nur bis 3. Leerzeichen) vergleichen muss und...
  5. 2 Zeilen aus einer txt auslesen

    2 Zeilen aus einer txt auslesen: Hallo Leute, ich habe eine Datei die immer aus zwei zusammenhängenden Zeilen besteht, als Beispiel: DE0006231004 # 15,04 Infineon DE0005785604...