Portál AbcLinuxu, 1. června 2025 03:00
sed -i '/##/{G;s/$/'x="\"$x\""'/;}' ~/spust.confA 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.