Portál AbcLinuxu, 3. prosince 2025 19:55
sed -i '/##/{G;s/$/'x="\"$x\""'/;}' ~/spust.conf
A nyní potřebuji aby se v tomoto souboru přepsala na novou hodnotu.
Pro správnou funkčnost musím vycházet z toho, že nevím jakou hodnotu si ten script pro $x vygeneroval. To ví pouze ten script.
Takže nemohu použít přímý řetězec, ale pouze se odkazovat na hodnotu proměné.
Takže potřebuji- Smaž hodnotu proměné x v souboru spust.conf a nahrad ji novou hodnotou, kterou jsis pred chvílí pomocí funkce vygeneroval. A zapis ji opet v uvozovkách, aby byla pouzitelná. Žádne x=hodnota, ale x="hodnota".
Jestli to umí někdo líp, tak na progr. sed netrvám.
děkuji
sed -i "s/x=\"[^\"]*\"/x=\"$x\"/" ~/spust.conf
x=\"[^\"]*\"hlavně teda
[^\"]*
.* a spoléhání na žravost neboť to je rychlejší.
[^"]* vyhovuje libovolně dlouhá posloupnost jakýchkoli znaků kromě ". Takže vzoru x="[^"]*" vyhovují všechny řetězce x="cokoli".
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.