Mam 3 pliki w katalogu: xyz1.txt
, xyz2.txt
, rst_xyz.txt
i chcę pracować TYLKO z pierwszymi dwoma (tymi, które zaczynają się od xyz). Komenda ls | awk '/xyz/{print $1}'
zwróci wszystkie trzy. Jakie zmiany mogę wprowadzić do polecenia, aby określić TYLKO pliki xyz *? próbowałem ls | awk '/^xyz/{print $1}'
myśląc, że to sprawi, że plik zacznie się od xyz, ale to nie wyklucza rst_xyz.txt
.
ls
- to nigdy nie przyszło mi do głowy! Bardzo dziwnym powodem jest to, że mogę się dokładnie dowiedzieć, jak działa awk i jak w nim implementować wyrażenia regularne. Próbuję po prostu wydrukować wszystkie pliki zaczynające się od „xyz”, jak widać z mojego pierwotnego pytania. W twoim przykładzieawk 'FILENAME ~ /^xyz/ { print $1}'
byłoby następstwem, ale nic nie drukuje na ekranie.