Datei-Reader

OsunSeyi

OsunSeyi

Foren As
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:
#!/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
PS
EMACS soll sowas können...
 
Zuletzt bearbeitet:

Ähnliche Themen

script sshpass

Verschlüsseltes Backup-Script mit rsync

HandbrakeCLI Shell Skript

Port generieren, wenn nicht dann

[Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter

Zurück
Oben