Shell - najdhsie slovo

Sekcia: Programovanie 13.10.2010 | 22:23
ujho4545   Návštevník
Zdravim borci,

ako dokazem ziskat najdlhsie slovo v subore?

Prisiel som potialto:

tr -s ' ' '\n' < subor.txt


ale teraz ako mam ziskat pocet znakov jednotlivych riadkov?

Dakujem velmi pekne.
    • Re: Shell - najdhsie slovo 13.10.2010 | 23:31
      Avatar Dare_devil Debian, OpenSuse  Používateľ
      Ako programátor by som na to išiel takto:

      cyklus na načítanie reťazcov oddelených ' ' do pomocnej premennej, potom by som overil, či je dĺžka toho práve načítaného reťazca väčšia ako dĺžka predošlého reťazca ( dĺžku predošlého reťazca si uložíš taktiež do pomocnej premennej, na začiatku bude mať tá premenná hodnotu 0 ), ak je, tak do premennej "najdlhsia" by som uložil ten nový string a pokračoval v cykle, kým neprejde všetky slová.. a po cykle vypísal "najdhlsia"
      There is no flag large enough to cover the shame of killing innocent people
    • Re: Shell - najdhsie slovo 14.10.2010 | 01:15
      peter   Návštevník
      cat subor | tr -s ' ' '\n' | awk '{ print length(), $0 | "sort -n" }'
    • Re: Shell - najdhsie slovo 14.10.2010 | 01:35
      Avatar Samuel BWPOW Kupka Almalinux, OpenWRT  Používateľ
      Nieco taketo by neslo? (bashovsky skript)
      #!/bin/bash
      SUBOR="a.txt"
      
      TEXT=`cat "$SUBOR" | tr -cs [:alnum:] ' '`
      let LEN=0
      for X in $TEXT; do
        let L=${#X}
        if [ "$L" -gt "$LEN" ]; then
          let LEN=L
        fi
      done
      echo "Najdlhsie slovo ma dlzku $LEN"
      
      Netusim, ci to funguje, nechce sa mi otvarat konzolu :)
      Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity