Portál AbcLinuxu, 28. května 2024 01:17

Awk & sed: Příručka ... - a co BASH?

9.2.2005 15:03 | Přečteno: 3101× | BASH | poslední úprava: 11.2.2005 12:27

V článku jsem se dočetl o zajímavé knížce a nejen já. Kolega ji dokonce pořídil do firmy. Tak jsem si v ní zalistoval. Narazil jsem na dobrej příklad kdy nepoužít sed. Je to hned první příklad použití editoru sed 3.4.1 Vyhledávání souborů v adresářích v PATH. Moc mě pobavilo to ošetření prázdné cesty a záměna : za mezeru na 4 řádky

sed -e 's/^:/.:/
	s/::/:.:/
	s/:$/:./
	s/:/ /g'
a krom toho ještě pokus o zápis do soutěže o nejzbytečnější echo. Vzhledem k tomu, že v této kapitole mají být praktické príklady, tak:
  1. na tohle máme příkaz which
  2. efektivněji to zvládne find s bash expanzí ${PATH//:/ }
  3. a jde to i v čistém bashi

Jak na to v bashi?

#!/usr/bin/env bash

IFS=':' cesty=($PATH)
for i
do
	for j in "${cesty[@]}"
	do
		[ -z "$j" ] && j=.
		[ -s "$j/$i" ] && echo $j/$i
	done
done

exit 0
Tahle verze dokonce funguje pro cesty s mezerou, nebo jiným podivným znakem narozdíl od příkladu uvedeného v knížce. Stejně bych doporučoval na hledání používat find :-)

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.