Problem mit dem wc

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Benutzeravatar
sommernacht
Beiträge: 13
Registriert: 16.09.2021 09:11:47

Problem mit dem wc

Beitrag von sommernacht » 06.10.2021 18:57:25

wenn ich mit

Code: Alles auswählen

ls | wc *.agc
suche gibt er mir folgendes aus (bild 1)

wenn ich jedoch nur mit

Code: Alles auswählen

ls | wc
suche gibt er mir folgendes aus (bild2)

mit

Code: Alles auswählen

ls | wc *.agc
ermittle ich doch die anzhal der dateien die im Ordner sind oder nicht ?

Bild
Bild
my cat has escaped

Benutzeravatar
sommernacht
Beiträge: 13
Registriert: 16.09.2021 09:11:47

Re: Problem mit dem wc

Beitrag von sommernacht » 06.10.2021 18:58:45

ermittle ich doch die anzhal der dateien die im Ordner sind oder nicht ? ----> also die .agc
my cat has escaped

DeletedUserReAsG

Re: Problem mit dem wc

Beitrag von DeletedUserReAsG » 06.10.2021 19:09:54

Ich sehe zwar deine Bilder nicht (und werd’s auch nicht ändern, weil eine solche Ausgabe kein Bild wert sein kann – im Gegenteil, vermutlich fehlen viele Zeilen, die vorhanden wären, wenn du die Ausgabe einfach nach pastebin/ gestellt hättest), aber wc macht nicht, was du dir vorzustellen scheinst – es zählt nur Wörter, und wenn du eine Datei angibst, zählt es die Wörter darin. Wenn du die Anzahl der auf .agc endenden Files in einem Verzeichnis zählen lassen willst, dann solltest du vorher selektieren. Das ginge beispielsweise so: ls | grep *.agc | wc ls | grep .agc | wc

Weitere Infos und die Bedienungsanleitung lassen sich mit man wc aufrufen.

Edit: Fehler korrigiert, siehe unten.
Zuletzt geändert von DeletedUserReAsG am 06.10.2021 20:55:04, insgesamt 1-mal geändert.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Problem mit dem wc

Beitrag von eggy » 06.10.2021 19:14:16

Du benutzt die Pipe falsch. (edit: Du=sommernacht, nicht niemand)

Die Pipe verbindet zwei Befehle:
befehl1 | befehl2
dabei wird die Ausgabe von Befehl eins als Eingabe für Befehl zwei benutzt.

Was tut wc? "man wc" sagt erstmal "wc - print newline, word, and byte counts for each file", wenn man dann weiterliest, erfährt man diverse andere interessante Sachen, mach das mal selbst. Eins ist aber interessant, und vielleicht nicht ganz selbst erklärend: "With no FILE, or when FILE is -, read standard input.". Das bedeutet nämlich, wenn man wc via pipe benutzt, zählt es das was reinkommt.

Also für hinten "wie soll gezählt werden" wissen wir schonmal: " | wc".
Für vorne braucht es jetzt noch "was soll gezählt werden". Und da ist ls grundsätzlich schonmal nen guter Ansatz.
Da kommt dann das sogenannten Globbing zum Einsatz ("man 7 glob", die sieben ist nötig, da es da noch andere manpages gleichen Namens gibt): alle Dateien auflisten die mit a anfangen wäre "ls a*"

Soweit alles klar? Denn Rest schaffst sicher alleine ...

(Klingt übrigens fürchterlich nach Schulaufgabe. Schreib beim nächsten mal dazu, was ihr da macht, weil Verstehen bringt mehr als Lösung haben - auch mehr Spaß)

Benutzeravatar
Meillo
Moderator
Beiträge: 8817
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Problem mit dem wc

Beitrag von Meillo » 06.10.2021 20:24:11

Btw und OT:
sommernacht hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 18:57:25

Code: Alles auswählen

ls | wc *.agc
Irgendwie erinnert mich das an einen Post von neulich ... viewtopic.php?f=27&t=182067#p1282556 ;-)
Use ed once in a while!

Benutzeravatar
Meillo
Moderator
Beiträge: 8817
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Problem mit dem wc

Beitrag von Meillo » 06.10.2021 20:28:04

niemand hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 19:09:54
Wenn du die Anzahl der auf .agc endenden Files in einem Verzeichnis zählen lassen willst, dann solltest du vorher selektieren. Das ginge beispielsweise so: ls | grep *.agc | wc
Ich bin mir nicht sicher, ob das absichtliche Satire war oder du mal sehen wolltest was rauskommt, wenn man bewusst eine falsche Loesung unterschiebt ... jedenfalls wird dieser Befehl in der Weise nicht das tun was man als Anfaenger wohl erwarten wuerde ... und auch nicht das was im Text steht was er tun wuerde.
Use ed once in a while!

Benutzeravatar
Phineas
Beiträge: 348
Registriert: 20.06.2012 20:26:19

Re: Problem mit dem wc

Beitrag von Phineas » 06.10.2021 20:39:15

Code: Alles auswählen

ls -1 *.agc | wc -l
:wink:

DeletedUserReAsG

Re: Problem mit dem wc

Beitrag von DeletedUserReAsG » 06.10.2021 20:50:23

Meillo hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 20:28:04
Ich bin mir nicht sicher, ob das absichtliche Satire war oder du mal sehen wolltest was rauskommt, wenn man bewusst eine falsche Loesung unterschiebt .
Weder, noch. Einfach nur ’n Flüchtigkeitsfehler: ls | grep .agc | wc wäre eine passendere Option – hab’s oben entsprechend angepasst.

Die Sache mit ls *.agc | […] hat übrigens auch so ihre Tücken – wenn es nämlich ein Verzeichnis namens ….agc mit Dateien drin gibt, kommt da nämlich auch Unsinn raus.

Letztlich hängt’s von den Bedingungen und Umständen ab, was man nun genau macht. Es sei denn, es ist tatsächlich eine Aufgabe, und es es soll jede denkbare Stolperfalle ausgeschlossen werden. In dem Fall würde ich wohl was mit find und einem Zähler basteln.

OT: Denk an Hanlon, und unterstelle nicht direkt Absicht/Bosheit, wenn’s auch ein einfacher Fehler gewesen sein könnte, Meillo.

Benutzeravatar
Meillo
Moderator
Beiträge: 8817
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Problem mit dem wc

Beitrag von Meillo » 06.10.2021 22:03:42

niemand hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 20:50:23
Meillo hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 20:28:04
Ich bin mir nicht sicher, ob das absichtliche Satire war oder du mal sehen wolltest was rauskommt, wenn man bewusst eine falsche Loesung unterschiebt .
Weder, noch. Einfach nur ’n Flüchtigkeitsfehler: ls | grep .agc | wc wäre eine passendere Option – hab’s oben entsprechend angepasst.
Auch dann ist das so nicht zu empfehlen. Viel sinnvoller ist `ls *.agc'. `ls | grep' ist sehr unueblich, weil selten noetig oder besser als Globbing direkt beim ls. Wenn man es aber richtig machen wollen wuerde, dann muesste es so aussehen:

Code: Alles auswählen

ls | grep '\.ags$'
Und das ist doch deutlich komplizierter als `ls *.ags'. ;-)
Die Sache mit ls *.agc | […] hat übrigens auch so ihre Tücken – wenn es nämlich ein Verzeichnis namens ….agc mit Dateien drin gibt, kommt da nämlich auch Unsinn raus.
Eben! Vor allem, weil hier ja solche Dateien im aktuellen Verzeichnis zu erwarten sind. ;-)

Neulinge sollten auch immer die RegExp bei grep single-quoten. Es passieren sonst einfach zu viele fuer sie ueberraschende Dinge.
Use ed once in a while!

cronoik
Beiträge: 2049
Registriert: 18.03.2012 21:13:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Problem mit dem wc

Beitrag von cronoik » 06.10.2021 22:06:38

Meillo hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 22:03:42
Wenn man es aber richtig machen wollen wuerde, dann muesste es so aussehen:

Code: Alles auswählen

ls | grep -c '\.ags$'
Hilf mit unser Wiki zu verbessern!

DeletedUserReAsG

Re: Problem mit dem wc

Beitrag von DeletedUserReAsG » 06.10.2021 22:16:28

Meillo hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 22:03:42
Und das ist doch deutlich komplizierter als `ls *.ags'
Ich sag mal so: in meiner Konfiguration ist die Ausgabe von grep beim matchenden Muster eingefärbt, und mit .agc gab es damit kein Problem: in der Ausgabe war ebendieser String eingefärbt. Mag nicht der reinen Lehre entsprechen, tut aber den Job – und da bin ich dann ’n bekennender Anhänger von KISS.
Meillo hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 22:03:42
Viel sinnvoller ist `ls *.agc'.
Nein.

Code: Alles auswählen

niemand@NUC ~/Spielplatz/dfde % tree
.
├── abc.agc
├── bcd.agc
├── blub.agc
│   └── bla.cde
├── blub.bla
└── cde.fgh

1 directory, 5 files
niemand@NUC ~/Spielplatz/dfde % ls -1 *.agc | wc -l
5
niemand@NUC ~/Spielplatz/dfde % ls -1 | grep .agc | wc -l
3
niemand@NUC ~/Spielplatz/dfde % 

tobo
Beiträge: 1993
Registriert: 10.12.2008 10:51:41

Re: Problem mit dem wc

Beitrag von tobo » 06.10.2021 22:31:34

3 ist zwar richtiger als 5, aber falscher als 2. Und ich könnte mir vorstellen, dass sommernacht gerne 2 als Antwort hier sehen würde.

Benutzeravatar
Meillo
Moderator
Beiträge: 8817
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Problem mit dem wc

Beitrag von Meillo » 06.10.2021 22:54:35

cronoik hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 22:06:38
Meillo hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 22:03:42
Wenn man es aber richtig machen wollen wuerde, dann muesste es so aussehen:

Code: Alles auswählen

ls | grep -c '\.ags$'
Das ist natuerlich noch netter, um sich das wc zu sparen.

niemand hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 22:16:28
Meillo hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 22:03:42
Und das ist doch deutlich komplizierter als `ls *.ags'
Ich sag mal so: in meiner Konfiguration ist die Ausgabe von grep beim matchenden Muster eingefärbt, und mit .agc gab es damit kein Problem: in der Ausgabe war ebendieser String eingefärbt. Mag nicht der reinen Lehre entsprechen, tut aber den Job – und da bin ich dann ’n bekennender Anhänger von KISS.
Du uebersiehst dabei, dass der Punkt in einer RE ein beliebiges Zeichen matcht. Damit trifft deine RE gleichermassen fuer `foo.ags' wie fuer `barags' zu, wobei im zweiten Fall dann ``rags'' eingefaerbt wird. Mehr noch, ohne den Zeilenende-Anker matcht es auch auf `Tagspiel', bei dem dann ``Tags'' eingefaerbt wird.

Globbing ist in der Hinsicht einfacher, weil der Punkt literal fuer sich selbst steht und die Patterns immer am Anfang und Ende verankert sind.


Den Fall mit dem Verzeichnis, das auf `.ags' endet, ist in einer Schueleraufgabe, um die es sich hier vermutlich handelt, bestimmt nicht beruecksichtigt. Ich sehe das wie tobo, dass in dem Fall 2 die richtige Loesung waere, bzw. 3, wenn man Verzeichnisse auch als Dateien ansieht (dann muss man ls aber mit `-d' aufrufen). ,,, Wobei wir ja auch gar nicht wissen wie genau die Aufgabenstellung lautet, in der dieser Fall vielleicht schon ausgeschlossen ist.

Ich bin mir sicher, dass die Musterloesung so aussehen wuerde, wenn es sich um eine Aufgabe fuer Einsteiger handelt:

Code: Alles auswählen

ls *.ags | wc -l
Alles andere waere schon fortgeschritten ... wo dann die bearbeitende Person keine Schwierigkeiten mehr haben duerfte, Pipelines zu bauen und Manpages zu lesen.
Use ed once in a while!

Benutzeravatar
hikaru
Moderator
Beiträge: 13588
Registriert: 09.04.2008 12:48:59

Re: Problem mit dem wc

Beitrag von hikaru » 06.10.2021 22:55:45

tobo hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 22:31:34
3 ist zwar richtiger als 5, aber falscher als 2.
Zwei mal drei macht vier ... ;)
tobo hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 22:31:34
ich könnte mir vorstellen,
Das ist halt das Tückische an Sachaufgaben:
Oft ist es schwieriger, sie eindeutig zu formulieren, als sie zu lösen.

Hier ist nicht klar, ob Verzeichnisse (sind letztendlich auch nur Dateien), die auf '.agc' enden erfasst werden sollen, oder nicht.
Falls nicht, wie wär's damit?:

Code: Alles auswählen

ls -F | grep -c '\.agc$'
Zuletzt geändert von hikaru am 06.10.2021 23:08:05, insgesamt 1-mal geändert.
Grund: Korrektur durch Klassenlehrer ;)

tobo
Beiträge: 1993
Registriert: 10.12.2008 10:51:41

Re: Problem mit dem wc

Beitrag von tobo » 06.10.2021 23:02:58

hikaru hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 22:55:45
Falls nicht, wie wär's damit?:

Code: Alles auswählen

ls -F | grep -c '.agc$'
Wäre auch meine Idee (der Punkt gehört noch escaped).

Benutzeravatar
hikaru
Moderator
Beiträge: 13588
Registriert: 09.04.2008 12:48:59

Re: Problem mit dem wc

Beitrag von hikaru » 06.10.2021 23:07:18

tobo hat geschrieben: ↑ zum Beitrag ↑
06.10.2021 23:02:58
(der Punkt gehört noch escaped)
Danke! Darüber stolpere ich immer wieder. ;)

Benutzeravatar
sommernacht
Beiträge: 13
Registriert: 16.09.2021 09:11:47

Re: Problem mit dem wc

Beitrag von sommernacht » 07.10.2021 01:08:18

Es ist ein einfacher Ordner mit .agc dateien nur die dateien im Ordner sind .agc

hab den mal auf win 10 geladen es sind 91 .agc dateien im Ordner

ich komme nur mit dem Befehl ls *.agc | wc auf die Richtige Menge

Intressant ist das die zeilen bei grep und ls eine andere Bedeutung bekommen

LS
Bild

GREP

Bild
my cat has escaped

Benutzeravatar
sommernacht
Beiträge: 13
Registriert: 16.09.2021 09:11:47

Re: Problem mit dem wc

Beitrag von sommernacht » 07.10.2021 01:21:50

geht auch ls -F | grep -c '\.agc$'
my cat has escaped

Benutzeravatar
hikaru
Moderator
Beiträge: 13588
Registriert: 09.04.2008 12:48:59

Re: Problem mit dem wc

Beitrag von hikaru » 07.10.2021 01:23:11

Um niemands Hinweis zu verdeutlichen: Warum um Himmels Willen machst du Screenshots (und sogar echte Fotos vom Bildschirm)? 8O
Du kannst einfach den Text im Terminal markieren und in den Foreneditor einfügen! Das macht es für alle Seiten einfacher - für dich weil du keine Bilddateien speichern und hochladen musst und für alle anderen, weil das originale Datenformat (ASCII-Text) erhalten bleibt.

Benutzeravatar
sommernacht
Beiträge: 13
Registriert: 16.09.2021 09:11:47

Re: Problem mit dem wc

Beitrag von sommernacht » 07.10.2021 01:23:48

es gehe alle lösungen bis auf eine nicht
my cat has escaped

Benutzeravatar
sommernacht
Beiträge: 13
Registriert: 16.09.2021 09:11:47

Re: Problem mit dem wc

Beitrag von sommernacht » 07.10.2021 01:48:34

hikaru hat geschrieben: ↑ zum Beitrag ↑
07.10.2021 01:23:11
Um niemands Hinweis zu verdeutlichen: Warum um Himmels Willen machst du Screenshots (und sogar echte Fotos vom Bildschirm)? 8O
Du kannst einfach den Text im Terminal markieren und in den Foreneditor einfügen! Das macht es für alle Seiten einfacher - für dich weil du keine Bilddateien speichern und hochladen musst und für alle anderen, weil das originale Datenformat (ASCII-Text) erhalten bleibt.

1 manche Bilder sind nicht von heute
2 Linux läuft bei mir nur in der Virtual Box unter win10 im Terminal Modus 8O
3 Das Linux Terminal ist nicht mit einer software über win 10 Verbunden somit ist kopieren nicht möglich :!:

@all danke für die hilfe

Bild

Code: Alles auswählen

8b      db      d8  ,adPPYba,  
`8b    d88b    d8' a8"     ""  
 `8b  d8'`8b  d8'  8b          
  `8bd8'  `8bd8'   "8a,   ,aa  
    YP      YP      `"Ybbd8"'  

Code: Alles auswählen

     />  フ
     |  n n 彡
     /`ミ_xノ
     /      |
    /  ヽ   ノ
    │  | | |
 / ̄|   | | |
 | ( ̄ヽ__ヽ_)__)
 \二つ i love my cat 
my cat has escaped

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Problem mit dem wc

Beitrag von eggy » 07.10.2021 02:57:26

sommernacht hat geschrieben: ↑ zum Beitrag ↑
07.10.2021 01:08:18
$komisches Posting mit viel zuvielen Bildern
Auch wenn's Sicherheitstechnisch ne Katastrophe ist, schau mal, ob Deine Virtualisierung "gemeinsam genutzte Zwischenablage" oder sowas anbietet (je nach verwendetem System musst Du evtl noch die Guesttools installieren), alternativ nen gemeinsam genutzter Ordner, in den Du dann einfach die Textdatei legst, hat inzwischen auch glaub jede Virtualisierung. Falls Du Deiner VM Internetzugang gegönnt hast: sowohl hier auf NoPaste (Link findest links im Menü) als auch auf paste.debian.net gibts ne Möglichkeit kleine Textschnipsel abzulegen.

Inhaltlich zu den Bildern, schau Dir mal in die manpage von wc, was die einzelnen Ausgaben sind.
Schreib in Deine Datei statt "lol lol lol" mal "lol lal lol" ... könnte zu ner Überraschung führen.
grep findet immer nur ganzen Zeilen (sofern man nicht Bescheid gibt, dass man es anders haben will, da gibts nen Schalter, manpage von grep mal auf der Suche only matching durchsehen).

Swirlich
Beiträge: 77
Registriert: 26.02.2015 17:24:20

Re: Problem mit dem wc

Beitrag von Swirlich » 07.10.2021 12:27:59

Code: Alles auswählen

find . -type f -name "*.agc" | xargs wc

KP97
Beiträge: 3432
Registriert: 01.02.2013 15:07:36

Re: Problem mit dem wc

Beitrag von KP97 » 07.10.2021 15:46:48

@sommernacht
Bekommen die Helfer dann auch die Belobigung vom Lehrer, weil sie Deine Hausaufgaben gemacht haben?

Benutzeravatar
sommernacht
Beiträge: 13
Registriert: 16.09.2021 09:11:47

Re: Problem mit dem wc

Beitrag von sommernacht » 07.10.2021 18:27:21

KP97 hat geschrieben: ↑ zum Beitrag ↑
07.10.2021 15:46:48
@sommernacht
Bekommen die Helfer dann auch die Belobigung vom Lehrer, weil sie Deine Hausaufgaben gemacht haben?
Das Modul ist längst fertig.

Das was du meinst ist freiwillige Weiterbildung.
Das sind Zusatz Aufgaben ect.

wenn du möchtest kann ich dir ein Keks zu schicken.


......vielleicht sollte ich einen neuen Account unter einem anderen Namen erstellen
my cat has escaped

Antworten