sed
to s tream ed itor , w którym możesz użyć |
(pipe) do wysyłania standardowych strumieni (w szczególności STDIN i STDOUT) przez sed
i zmieniaj je programowo w locie, czyniąc z niego przydatne narzędzie w tradycji filozofii Unix; ale może też edytować pliki bezpośrednio, używając parametru -i
wymienionego poniżej.
Rozważ następujące :
sed -i -e "s/few/asd/g" hello.txt
s/
służy do s zastąpienia znalezionego wyrażenia few
asd
:
Nieliczni, odważni.
Asd , odważny.
/g
oznacza „global”, co oznacza, że należy to robić dla całej linii. Jeśli pominiesz /g
(z s/few/asd/
, zawsze muszą być trzy ukośniki bez względu na wszystko) i few
pojawia się dwa razy w tym samym wierszu, tylko pierwszy few
jest zmieniany na asd
:
Kilku mężczyzn, kilka kobiet, odważnych.
Asd mężczyźni, kilka kobiet, odważni.
Jest to przydatne w niektórych okolicznościach, takich jak zmiana znaków specjalnych na początku wierszy (na przykład zastąpienie symboli większości używanych przez niektórych ludzi do cytowania poprzedniego materiału w wątkach e-mailowych z poziomym tabulatorem, podczas gdy cytowana nierówność algebraiczna w dalszej części wiersza pozostaje nietknięta), ale w Twoim przykładzie, w którym określisz, że gdziekolwiek few
występuje, należy to zastąpić upewnij się, że masz /g
.
Poniższe dwie opcje (flagi) są połączone w jedną, :
-i
opcja służy do edycji i n miejsce w pliku hello.txt
.
-e
wskazuje e xpression / command to run, w tym przypadku s/
.
Uwaga: ważne jest, aby wyszukiwać / zamieniać za pomocą -i -e
. Jeśli zrobisz -ie
, utworzysz kopię zapasową każdego pliku z dołączoną literą „e”.
Komentarze