Portál AbcLinuxu, 9. listopadu 2025 14:35
Chci udělat skript pro načítání vlastního konfiguráku. Znám příkaz for i grep, ale neumím to použít tak jak bych chtěl: Syntaxe v konfiguráku:
keyword_1 param_1 param_2
keyword_2 param_1 param_2
keyword_3 param_1 param_2
mám příkaz který mi postupně vrací jednotlivé řádky (if, for a grep), ale jak to udělat, když chci vrátit postupně za sebou jednotlivá slova param. Tedy nejdříve hledám konkrétné klíčové slovo tam bude podmínka např. if [ "$keyword==“pci“ ]; then .... měl by následovat vnořený cyklus pro konkrétní řádek, který bude načítat parametry. Poradíš jak na to. Jen tuším že bych možná měl použít egrep - s předlohou "/\w*/" - ale to jen teoreticky tak to dělám v php.
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
:
KEYWORDS="keyword_1 param_1 param2"
IFS=$' ';
STATE='KEYWORD';
for PROM in $KEYWORDS; do
if [ $STATE = 'KEYWORD' ]; then
STATE='PARAM'
continue;
fi
echo 'x' $PROM;
done
a nebo
IFS=$' ';
KEYWORDS=`echo $KEYWORDS | sed 's/^[^ ]*//'`
for PROM in $KEYWORDS; do
echo 'x' $PROM;
done
tím se získají všechny param po sobě... Malou modifikací určitě získáte i keyword
read keyword param1 param2by možná řešilo tvůj problém mnohem jednodušším způsobem.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.