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 ja wc.

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.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *