Olen luonut tekstitiedoston, jossa on 1000 satunnaista isoa ja pientä kirjainta:
cat /dev/urandom | tr -dc "a-zA-Z0-9" | head -c 1000 > file1
Kuinka monta kertaa sana ”kissa” esiintyy tässä tiedostossa käyttämällä grep
ja wc
?
Tein sen näin:
grep -ic cat file1
Mutta se laskee rivit, joissa se esiintyy, kun taas haluan tarkistaa, kuinka monta kertaa se näkyy samalla rivillä. Onko sinulla ideoita?
Kommentit
- fyi, tr voi käyttää [: alnum:] -merkkiä az-sijasta. . Ja haluat laskea, kuinka monta kertaa se näkyy koko tiedostossa, ei vain jokaisella -rivillä tai vain yhdellä tietyllä rivillä (sanoit " siinä rivissä " lopussa)?
Vastaa
Minun on tehtävä tehtävä, kun löydän kuinka monta kertaa tästä tiedostosta ilmestyy maailma ”kissa” komennolla
grep
jawc
.
Yritä:
grep -oi cat file1 | wc -l
Esimerkki:
$ cat file1 foo cat bar zoo cat random text cat dog foobar cat end!
^ Meillä on neljä esiintymää: cat
yllä.
grep -oi cat file1 | wc -l 4
Alkaen man grep
(korostukseni):
-o, --only-matching Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.
Kommentit
- Yllä oleva komento löytää kaikki alimerkkijonot cat , vaikka ne olisivatkin osa muun sanan kuten bob cat ja cat alougue. Tiedosto on kuitenkin luotu siten, että se ei sisällä välilyöntiä, eikä kumpikaan sana jarruta eikä rivinvaihto. Siksi tämä on vain muistiinpano.
- @schweik Kyllä, se on totta. En lisännyt vastaukseeni sanarajoja.