Kromě odpovědi Normana Ramseyho bych rád dodal, že můžete celý řetězec uvozovat dvakrát (což může učinit prohlášení čitelnějším a méně náchylným k chybám).
Pokud tedy chcete vyhledat 'foo' a nahradit jej obsahem $BAR, můžete příkaz sed uzavřít do dvojitých uvozovek.
sed 's/foo/$BAR/g'
sed "s/foo/$BAR/g"
V prvním se $BAR nerozbalí správně, zatímco v druhém $BAR se rozbalí správně.
Vaše dva příklady vypadají identicky, což ztěžuje diagnostiku problémů. Možné problémy:
-
Možná budete potřebovat dvojité uvozovky, jako v
sed 's/xxx/'"$PWD"'/'
-
$PWD
může obsahovat lomítko, v takovém případě musíte najít znak ne obsažené v$PWD
použít jako oddělovač.
Abychom vyřešili oba problémy najednou, možná
sed '[email protected]@'"$PWD"'@'
Přesměrovat STDERR / STDOUT procesu PO jeho spuštění pomocí příkazového řádku?
Jak docílím toho, aby se úloha cron spouštěla každých 30 minut?