programmier-hilfe benötigt

Antworten
Nachricht
Autor
bernd666

programmier-hilfe benötigt

#1 Beitrag von bernd666 » 23. Dez 2006 1:57

der name des topics sagt ja wohl schon aus, das
ich nicht so der versierte programmiere bin.

ich wollte ein programm schreiben bzw shell-script, mitdem ich in einem
ordner die unterordner mit den darinliegenden datein anzeigen lassen kannn.
(
in den unterordnern befinden sich keine weiteren unterordner, jeweil 2 dateien
eine davon is eine "info-datei", diese soll nicht aufgelistet werden
)

bsp.

Code: Alles auswählen

[ordner]
[unterordner 1]     [unterordner 2]
datei                      datei
usw...
wobei sich datei aus aus 2 strings zusammensetzen soll,
zum einen aus dem dateinamen, der im unterordner befindlichen datei
und zum anderen aus einem string, welcher sich in einer textdatei befindet,
welche in jedem unterordner den gleichen namen trägt.

ich hoffe, das ihr mir da eventuell weiterhelfen könnt
und bedanke mich auch schonmal im vorraus für eure mühe.

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#2 Beitrag von Janka » 23. Dez 2006 13:01

Warum nimmst du nicht find?

Code: Alles auswählen

$ find -maxdepth 2 -type f
$ man find
Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

bernd665

#3 Beitrag von bernd665 » 29. Dez 2006 12:34

@ Janka: ja da bin ich dann auch noch drauf gekommen ^_^

hab jetzt hier mal mein "fertiges" script...
wer lust hat kann es sich mal zu gemühte führen...
verbesserungsvorschläge sind immer willkommen,
weil ich es auch selbst nochnet perfekt finde...
naja scripte ja auch nochnet so lange und erstrecht net professionell ^_^

Code: Alles auswählen

#! /bin/bash
#
#

#
#--------------------------------------------------
# create backups
#--------------------------------------------------

if [ $1 = "create" ]; then
	if [ $2 = "" ]; then
	        echo "Enter valdi UserID!";
	        exit 1;
	else
	        if [ $3 = "" ]; then
			echo "Enter valid source-path!";
			exit 1;
        	else
		        if [ $4 = "" ]; then
 				echo "Enter valid target-path!";
				exit 1;
        		else
				echo "Let's go...";
		
#Deklaration
datum=`date +%d-%m-%Y` 
uhrzeit=`date +%H%M%S` 
UserID="$2"
quelle="$3"
ziel="$4""$datum"
orgname=`basename "$quelle"`

#--------------------------------------------------

#Erstellen von Zielordner
mkdir "$ziel"

#Packen der Datein in den Zielordner
cd "$quelle"
tar cfv "$ziel"/"$uhrzeit"".tgz" *

#Verschlüsseln des tar-archivs
cd "$ziel"
echo "$orgname""' <-- ""$uhrzeit"".gpg""   ""$datum" > "$uhrzeit"".inf"
gpg -r "$UserID" -o "$uhrzeit"".gpg" -e "$uhrzeit"".tgz" 
rm -rf "$uhrzeit"".tgz"

			fi
		fi
	fi
fi

#
#--------------------------------------------------
# recover backups
#--------------------------------------------------

if &#91; $1 = "recover" &#93;; then
	if &#91; $2 = "" &#93;; then
	        echo "Enter valdi UserID!";
	        exit 1;
	else
	        if &#91; $3 = "" &#93;; then
			echo "Enter valid source-path!";
			exit 1;
        	else
		        echo "Let's go...";

#Deklaration
quelle="$2"
ziel="$3"
name=`basename "$quelle" | cut -f1 -d"."`
orgname=`head -n 1 "$name"".inf" | cut -f1 -d"'"`

#--------------------------------------------------

gpg -o "$ziel""/""$orgname"".tgz" -d "$quelle"

		fi
	fi
fi

#
#--------------------------------------------------
# infos about backups
#--------------------------------------------------

if &#91; $1 = "info" &#93;; then

# Deklaration
pfad="$1"

#--------------------------------------------------

cd "$pfad"
 
for i in *; 
do 
 head -n 1 `find "$i"/*.inf -type f`; 
done

fi

#
#--------------------------------------------------
# done^^
#--------------------------------------------------
für frage steh ich jederzeit gern zur verfügung ;)

Antworten