Vím, že už se to tu ptalo, ale mám problém porozumět odpovědím, které jsem našel. V zásadě chci použít
sed -i 's/string//some/directory/g' file.txt
a nemůžu najít přímou odpověď na to, jak vytvořit /some/directory
nerozbít sed
syntaxe.
Přijatá odpověď:
sed
umožňuje několik oddělovačů syntaxe, /
je pouze ten nejběžněji používaný.
Stejně dobře můžete říci
sed -i 's,<string>,<some/directory>,g' file.txt
kde ,
nyní má funkci, kterou obvykle provádí /
, čímž se to druhé zbaví jeho zvláštního významu.
Všimněte si však (jak poukázal @Jeff Schaller), že nyní ,
se nesmí objevit v názvu souboru nebo adresáře – a je to platný znak pro názvy souborů! Tato odpověď poskytuje dobrý přehled o tom, jak postupovat při aplikaci sed
na řetězec se speciálními znaky.
Rozdíl -r pouze pro určité typy souborů?
Proč mi Grep -o -w neposkytuje očekávaný výkon na Mac OS X?