Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Kommentar vom Moderator Biber am 12.08.2009 um 20:59:39 Uhr
Wäre über jeden Kreativen Vorschlaf froh!
Mfg
Felix
Jepp, sieht so aus als wäre ein Ausschlafen überfällig...

gelöst Anzahl Dateien ermittlen - shell

Mitglied: KH-AP

KH-AP (Level 1) - Jetzt verbinden

14.11.2005, aktualisiert 12.08.2009, 19263 Aufrufe, 7 Kommentare

Anzahl der Dateien innerhalb eines Ordners ermiteln

Guten Tag,

ich habe das oben genannte Problem, dass ich nicht weis wie ich auf der Shell mir die Anzahl der Dateien innerhalb eines bestimmten Ordners (Problems) ausgeben lassen kann.

Letztendlich will ich ein shell-script schreiben, mit dem man eine bestimmte Datei auswählen kann. Damit man dafür einfach eine Zahl(1-9) eingeben braucht, muss natürlich vor jeder Datei ne Zahl stehn (also jeder Date eine Zahl zugewiesen werden, hoffe es ist klar wiei ch das meine!?!) Jedenfalls muss ich dafür zunächst die Anzahl der Dateien ermitteln. Hatte es bereits mit
"find -type f -print | wc -l " versucht. Allerdings wird mir da eine 7 ausgegeben. Es sind aber nur max 6 datein vorhanden. Leider wird dabei die datein "." und ".." mitgezählt!

Wäre über jeden Kreativen Vorschlaf froh!
Mfg
Felix
Mitglied: KH-AP
14.11.2005 um 15:14 Uhr
so den Befehl zur eigentlichen Abfrage hab ich... ganz einfach:
ls <ordner> | wc -l

allerdings hab ich nun das Problem, dass der User lediglich eine Zahl eingeben braucht und im Prj verzeichniss landet.
Klingt einfach ist aber leider nicht so:
title=`echo $Directory | awk '{print $3}' `

Zur erklärung: in $Directory stehen praktisch die Prj namen dirin, also z.B. Hamburg, Bremen, München o.ä. hintereinander (d.h. so: Hamburg Bremen München)

Die standart Ausgabe ist wegen ner kleinen for-Schleife untereinander:
1 Hamburg
2 Bremen
3 München

so print $3 bewikrt dass München ausgegeben wird. Allerdings muss ich genau die Angabe von $3 Variabel machen!
D.h. ich müsste mir vorher mit -- read -p "Eingabe der Projektnr: " PrjNr --(war zumindest ne Idee von mir) ne Abfrage gestalten.

Wenn ich dann aber bei print $PrjNr eingebe.. dann kommt eben die Angegebene Zahl und nicht wie gewünscht der Dateiname!
Hoffe mal es versteht jemand so halbwegs was ich meine
Bin immer noch für kreative Ideen offen

Mfg
Felix
Bitte warten ..
Mitglied: DerKleineBruder
14.11.2005 um 21:17 Uhr
Hi Felix,

so ganz habe ich dein Problem noch nicht verstanden.
Aber ein paar Anmerkungen:
"find . -type f | wc -l" ist korrekt für die Anzahl Dateien
"ls | wc -l" erfasst nicht die Dateien, die mit "." beginnen, außerdem geht es nicht
in die Unterverzeichnisse.
. und .. sind keine Dateien im eigentlichen Sinne, sondern Verweise auf Verzeichnisse, werden daher bei find . -type f nicht berücksichtigt.

Vielleicht kannst du in einer Nachricht oder als Post genauer erläutern, was du meinst.
Hört sich eigentlich lösbar an.

Grüße
das Brüderchen
Bitte warten ..
Mitglied: KH-AP
15.11.2005 um 08:02 Uhr
morgen,

mir reicht tatsächlich das ls | wc -l
die Unterverzeichnisse sollen nicht mit gezählt werden, das war schon richtig!
Gut, die Verweise wurden bei der find-Variante mitgezählt, die sollte nicht passieren, da in dem Ordner lediglich Projekordner liegen sollen.
Hab da aber grad ne ganz andere Idee...
troztdem danke für Ihre hilfe

Mfg
Felix
Bitte warten ..
Mitglied: duddits
23.11.2005 um 16:49 Uhr
Hi,

wenn ich dich richig verstehe, so möchtes du ein Script schreiben das wenn du z.B 1 eingibst das du dann in ein zuvor definierten Verzeichnis landest?
Wenn das richtig ist dann gib bescheid oder schildere dein Problem noch mal für mich.
Hätte da schon ein Idee aber möchte jetzt nicht irgendwas posten was das dann doch nicht dem entspreicht was du möchtes.

mfg duddits
Bitte warten ..
Mitglied: KH-AP
24.11.2005 um 09:14 Uhr
Morgen,

ja du hast mich schon recht gut verstanden.
Folgendes: Innerhalb des Ordners "Problems" gibt es Projekt ordner, deren Namen logischerweise dem Projektnamen entsprechen. So, nun will ich mit meinem Script eine schleife erzeugen, die mir erstens alle Ordner auflistet und mit Nummern versieht. Das heisst in der Liste steht z.B.:
1) Projektname
so, wenn ich dann auf die Taste 1 drücke soll, das Script in das entsprechende Verzeichniss wechseln (nur innerhalb der shell, das ist so gefordert und für den Benutzer sinnvoller)
Dafür habe ich bisher folgendes erstellt:
(ist leider nicht eingerückt, tut mir leid)

ad=`find * -type d | wc -l` # ad = Anzahl d. Ordner
z=1 # Z=Zähler
listprj=`ls -d */` # listet alle (Projekt)odner

echo "The projects you can choose are shown below:"
echo "--------------------------------------------"
while [ $z -le $ad ] #Schleife läuft durch, bis alle Projekt Ordner augelistet sind
do
for filename in $listprj #um den Namen des Projektordners zu ermitteln
do
echo $z $filename #Ausgabe der Nummer und des Names
let z=$z+1 #hochzählen für while schleife
done
done #ende while

echo "---------------------------------------------"
read -p "Enter the Number of the project or q to go back: " inr #hiermit taste einlesen

resp=`echo $inr`
case $inr in #case prüfung
[0-9])
if [ $inr -ge 0 ] # Eingabe >= 0 ; -ge = grather equal
then
var=`echo $listprj | awk '{print $'$inr'}' ` # $'$INR'- damit eingebenen nr
#auf entspr. Namen verwendet wird
echo -e "$var selected" "\n" #zeigt name d. Ausgewähltens Projektordners
WorkingProject=$var # Name des gewählten Prj in globale Variable um im hauptmenü hinzuwechseln
cd $WorkingProject
echo `pwd`
fi
;;
q)
;;
*) echo "Wrong key"
read -t 20
;;
esac

echo "Pfad bei choose_Prj:"`pwd`
Bitte warten ..
Mitglied: duddits
27.11.2005 um 14:47 Uhr
Hi,

habe dein Script mal ausprobiert und im Prinzip funktioniert es auch. Während das Script läuft wächselt es in das Verzeichniss, welches man zuvor ausgewählt hat nur nach dem das Script zuende ist wechselt es wieder dort hin wo du es gestartet hast.
Die Ursache dieses Problem ist, du musst das Script in der selben shell laufen lassen und nicht eine Subshell für das scipt öffnen.

Also keine #! /bin/bash im Script und kein exit im script und dann das Script
über Punkt SPACE SCRIPT (. Script) starten, somit wird für das Script keine Subshell geöffnet.
Dies funktioniert auch wenn du das Script in eines der PATH Verzeichnisse ist , wie z.B. /usr/bin/

Du kannst beim find Befehl mit dem Schalter -maxdepth 0 ( ad=`find * -type d -maxdepth 0 | wc -l` ) dafür sorgen ,das keine Unterverzeichnisse gewählt werden.

mfg duddits
Bitte warten ..
Mitglied: KH-AP
02.12.2005 um 16:26 Uhr
hallo,

ne das ist ja auch so beabsichtigt, dass das Verzeichniss nur innerhalb der Shell gewechselt werden soll... einfach um DAU fragen zu vermeiden!

Ja mit dem -maxdepth hatte ich schonmal bissel rumprobiert. Aber wie gesagt, die oben genannte Lösung ist soweit auch ok, troztdem vielen dank.

FElix
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Dateien verschieben über die shell mit bashscript

Frage von rababar2014Batch & Shell8 Kommentare

Moin admins, folgende Frage: Ich habe zwei Files, die ich gerne unabhängig voneinander mit einem bash scirpt via cron ...

Windows Tools

Bestimmte Anzahl an Dateien aus einem Verzeichnis in ein anderes verschieben

gelöst Frage von wernerzWindows Tools5 Kommentare

Hi, ich sitze jetzt hier schon seit Stunden und versuche mit allen möglichen Befehlen es selbst hin zu bekommen, ...

Ubuntu

Mtime findet Dateien nur mit negativer Anzahl

Frage von bolshiUbuntu

Hallo, ich sichere Dateien via rsync auf einem separaten Server. Auf beiden Servern läuft 16.04. Auf dem Backup-Server sollen ...

Basic

Regex Anzahl Character Nicht Anzahl Bytes

gelöst Frage von PeronasBasic6 Kommentare

Guten Morgen zusammen, und zwar habe ich eine Frage bzgl. RegEx/RegExp. Ich habe einen regulären Ausdruck der wie folgt ...

Neue Wissensbeiträge
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 2 TagenAusbildung33 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 4 TagenSpeicherkarten5 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 4 TagenSicherheit1 Kommentar

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 4 TagenHardware4 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Passwortwechsel Zeitpunkt festlegen
Frage von Looser27Windows Userverwaltung27 Kommentare

Guten Morgen liebe Kolleginnen und Kollegen, da es eine Userin in meinem Urlaub geschafft hat, sich vom AD vollständig ...

Windows Server
Probleme im AD am Außenstandort
Frage von emeriksWindows Server16 Kommentare

Hi, wir haben ein Problem mit AD und GPO am Außenstandort und ich stehe momentan mächtig auf dem Schlauch. ...

Windows 10
Windows 10 Spracherkennung - Eure Meinungen?
Frage von honeybeeWindows 1014 Kommentare

Hallo, wollte heute mal aus Neugier die Spracherkennung unter Windows 10 (Version 1803) ausprobieren und war mehr wie enttäuscht. ...

Switche und Hubs
POE-Switche
gelöst Frage von MiStSwitche und Hubs13 Kommentare

Guten Morgen, ich überlege ob ich in unserem Netzwerk die aktuellen Switche (D-LINK DGS-1210-28) durch PoE-Switche ersetzen soll. Der ...