Portál AbcLinuxu, 11. května 2025 06:25
[:space:]
. Je možné to provést bez použití té znakové třídy? A pokud ano, kde se to dá najít?
Anebo je potřeba změnit něco v tom skriptu? Ten egrep tam mám stejným způsobem, jako bych to psal z CL, pouze místo regulárního výrazu v uvozovkách '...' je $1
. V tom, co jsem našel o potlačení interpretace metaznaků, byla všude zmínka jenom o uvozovkách a backslashi, to ale zřejmě není ten případ. Nic podstatného jsem snad nepřehlídl, spíš něco zásadního nevím. Díky za nasměrování.
$ vim space.sh $ chmd +x space.sh bash: chmd: command not found $ chomd +x space.sh bash: chomd: command not found $ chmod +x space.sh $ ./space.sh "hello world" hello*world $ cat ./space.sh #!/bin/bash sed 's/ /*/' <<< "$1" $
./myscript.sh "regexp s mezerama"
a v myscript.sh:
prom="$1" # uvozovky okolo $1!
egrep "$prom" file.foo
tak to bude fungovat. Nebo copy&paste ukázku co vám přesně nejde...
Snad jen kdybyste předával víc parametrů a používal $@ tak byste mohl narazit, ale jinak...
$ cat ./skript1.sh #!/bin/bash echo " Jmeno skriptu : ;$0;" echo " Pocet parametru : ;$#;" echo " Vsechny parametry : ;$@;" echo " Parametr 1 : ;$1;" echo " Parametr 2 : ;$2;" echo " Parametr 3 : ;$3;" echo " Parametr 4 : ;$4;"A zde ho vyzkoušíme:
$ ./skript1.sh "1 parametr skriptu " 2 " 3 " Jmeno skriptu : ;./skript1.sh; Pocet parametru : ;3; Vsechny parametry : ;1 parametr skriptu 2 3 ; Parametr 1 : ;1 parametr skriptu ; Parametr 2 : ;2; Parametr 3 : ; 3 ; Parametr 4 : ;;
#! /bin/bash
cd /home/hibbit/prept
find . -type f -print0 | xargs -0 egrep -ah $1 >/home/hibbit/vyber.txt
cd /home/hibbit/
egrep $1 vyber.txt --colour
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.