Most csináljuk azt, hogy nem mondom meg, mert abból nem tanulsz. Ugyanakkor segítek.
1. A *.* shell globbing olyan file-okra, alkönyvtárakra illeszkedik, amelynek nevében van pont. Ez nem volt kritérium, a pontot nem tartalmazó file-okra is mennie kell.
2. Nem az aktuális könyvtárból kell szedni a file-okat.
3. Minek futtatsz egy cat-et, amikor a grep argumentuma is lehetne a filelista?
4. A >> redirect operátor az eddigi file-hoz fűzi a tartalmat. Amennyiben a file-t úgy akarod létrehozni, hogy az esetleges korábbit felülírja, használd a > operátort.
5. Jelenleg ugyan mindegy, de szerencsésebb a grep regexp-nél a shelltől teljes elzárást alkalmazni, azaz az idézőjelek helyett aposztrofot. Regexp-ben jó eséllyel lesz $ jel, az viszont idézőjelen belül jelent valamit a shellnek.
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE