• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved...]'Datei-Reader'

Hallo !
Hab' ein Script geschrieben, was vermittels der Enter-Taste alle Text-Dateien in einem Verzeichnisbaum durchblättert und durch drücken von '1 + Enter' die gerade angezeigte Datei zum editieren öffnet.
Meiner Ansicht nach praktisch, wenn man alle Schriftstücke in einem Verzeichnis einsortiert hat, aber zum öffnen einer einzelnen Datei nicht immer ad hoc weiß, wo sie gerade genau steckt.
Einfach alles durchblättern und öffnen.
Leider sind meine Programierkentnisse eher noch etwas dürftig...
Ich erlaube mir mal, das Ganze hier abzudrucken.
Das Script beruht auf dem (warscheinlich eher schwachsinnigen) Konzept, eine Datei zu generieren (in dem Fall text_tmp), die zunächst (nur beim 1.Mal) ausführbar gemacht werden muß.
Code:
Code:
#!/bin/sh
  cd
  datei="/home/tom/DAT/D/BIN/BIN_AWK/text_tmp"
  dat="DAT/A"
# dat=$1


for i in `find $dat -type f`; do

      # Datei einlesen:

	 DAT="/home/tom/"$i
	text=$(cat  $DAT | tr -s xX~#_.:- | head -c 1500)
        code=$(file $DAT | awk '{print $2}')

	if [ "$code" = "UTF-8" -o "$code" = "ISO-8859" ];
	then

		if [ "$code" = "UTF-8" ];
		then
		text=$(cat $DAT | tr -s xX~#_.:- | head -c 1500 | iconv -s -f UTF-8 -t ISO-8859-15 2>/dev/null)
		fi

      # ausführende Datei schreiben:

	echo "#!/bin/sh"		    > $datei

	echo "cat <<!" 			   >> $datei

	echo "("$code")"$i":"	  >> $datei
	echo $text 			      >> $datei
	echo "~~~~~~~~~~~~~~~~~~~~~~~"	>> $datei

	echo "!" 			            >> $datei
	echo "echo -n '   '" 		   >> $datei
	echo "read WAHL" 		     >> $datei
	echo "case \"\$WAHL\" in"    >> $datei
	
	echo "1)"	 		           >> $datei
	echo "           leafpad $DAT" 	>> $datei
	echo "           ;;" 		        >> $datei

	echo "*)"	 		             >> $datei
	
	
	echo "esac"			        >> $datei
	
	#ausfuehren:
	$datei

	fi
done
exit 0
Frage nun:
1. geht's auch eleganter ?
2. gibt's evtl sowas schon in einer korrekt & schnell arbeitenden Variante ?
3. woraus erklärt sich, daß einzellne Dateien nicht korrekt dargestellt werden ?
viele Grüße,
Tom
 
Ich bin jetzt mal garstig und verweise dich auf den Emacs im dired-mode. Den kannst Du auf der Konsole und im WM verwenden, hast gleich noch die Möglichkeit die Dateien zu durchsuchen und etliche andere Späße mehr.

Für alle anderen Fragen wirst Du auf unsere Skript-Experten warten müßen.
 
Danke für den Tip !
Ist in der Tat ein wenig garstig, mit Vi freunde ich mich auch nicht so schnell wie gehofft an.
Das vernünftig nutzen zu können, geht nicht im zwei-Finger-such-System...
Aber ich werd's bei Gelegenheit versuchen...
Trotzdem finde ich das Script von der Funktionalität her nicht schlecht, aber die Ausführung taucht nischt so janz jut.
Es soll schnell sein (das Durchblätter per TAB dürfte keine zeitliche Verzögerung haben).
Es liest manche Texte nur Unvollständig (ich vermute -in Einfältigkeit, amen- einen Laufzeitfehler).
Gruß, Tom
 
Oben