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

2 Anfängerfragen: Anzahl Datein, grep und * für Dateinamen

yeglar

Newbie
Hallo,

ich bin ganz neu mit Linux und habe 2 kleine Fragen:

1. Ich will mir die Anzahl von Dateien in einem Verzeichnis anzeigen lassen. Ich habe mehrere Optionsvarianten mit ls durchprobiert - ohne Erfolg.

2.Mit grep bzw. egrep nach einem Wort in mehreren Dateien suchen. Im konkreten Fall suche ich im php-manual nach dem Wort 'schema'. Ich habe das so probiert, wie in dem einen Online-Tutorial gezeigt:
grep schema *.html
Doch das funktioniert nicht. Sobald ich ein "*" für Dateinamen einsetze oder überhaupt das "*" einsetze für Datei/Verzeichnisnamen, kommt die Fehlermeldung: "Die Argumentliste ist zu lang. "

Hat da jemand eine Idee?
 

abgdf

Guru
Hi,

zu 1: Probier mal
Code:
ls | wc -l

bzw. (hehe :lol:):

http://neointellectual.wordpress.com/2006/07/20/unix-displaying-only-files-not-directories/

also
Code:
ls -1 -dp * | grep -v “/” | wc -l

zu 2.: Seltsam, Dein grep-Befehl geht so bei mir. Vielleicht könntest Du Deinen Suchstring in "" setzen.

Gruß
 

abgdf

Guru
Zu 1.: Du kannst auch meine(n) Freund(in) Perl um Hilfe bitten:
Code:
perl -e 'while (<*>) { $x++ if -f $_;} print "$x\n";'

Viele Grüße
 

abgdf

Guru
Noch zu 1.: Ich glaube, die üblichste Methode ist dagegen:
Code:
find -maxdepth 1 -type f | wc -l
Man sieht: TMTOWTDI :).

Viele Grüße
 

nbkr

Guru
yeglar schrieb:
2.Mit grep bzw. egrep nach einem Wort in mehreren Dateien suchen. Im konkreten Fall suche ich im php-manual nach dem Wort 'schema'. Ich habe das so probiert, wie in dem einen Online-Tutorial gezeigt:
grep schema *.html
Doch das funktioniert nicht. Sobald ich ein "*" für Dateinamen einsetze oder überhaupt das "*" einsetze für Datei/Verzeichnisnamen, kommt die Fehlermeldung: "Die Argumentliste ist zu lang. "

Die Bash kann nur eine bestimmte Maximalzahl von Argumenten verarbieten. Google mal nach xargs, damit lässt sich das umgehen.
 
Oben