Page 1 of 1

programmier-hilfe benötigt

Posted: 23. Dec 2006 1:57
by bernd666
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: Select all

[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.

Posted: 23. Dec 2006 13:01
by Janka
Warum nimmst du nicht find?

Code: Select all

$ find -maxdepth 2 -type f
$ man find
Janka

Posted: 29. Dec 2006 12:34
by bernd665
@ 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: Select all

#! /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 ;)