Szukaj…


Składnia

  • -a - (BSD sed) Utwórz / Obetnij wszystkie zapisane pliki przed przetwarzaniem
  • -E | -r - Użyj rozszerzonych wyrażeń regularnych
  • -i | -I - Patrz temat „ Edycja na miejscu”
  • -l - (BSD sed) Użyj wyjścia buforowanego liniowo
  • Długość -l - (GNU SED) określić długość dla l polecenia linii owijania
  • -s - (GNU sed) Traktuj pliki jako osobne strumienie
  • -u - Nie buforuj wyniku
  • -z - (GNU sed) Użyj znaku NUL, aby oddzielić rekordy
  • - cichy | --silent - (GNU sed) Synonimy dla -n
  • --expression = polecenie - (GNU sed) Synonim dla -e
  • --plik = plik_pliku poleceń - (GNU sed) Synonim dla -f
  • --follow-symlinks - (GNU sed) Śledź dowiązania symboliczne
  • --in-place [= rozszerzenie] - (GNU sed) Synonim dla -i
  • --line-length = length - (GNU sed) Synonim dla -l
  • --separate - (GNU sed) Synonim dla -s
  • --unbuffered - (GNU sed) Synonim dla -u
  • --null-data - (GNU sed) Synonim dla -z
  • --help - (GNU sed) Zużycie wydruku
  • --version - (GNU sed) Wersja do wydruku

Uwagi

Opcja -E ma zostać znormalizowana w następnej głównej wersji, patrz odpowiedni problem .

Opóźnij tworzenie / obcinanie plików

Pliki zapisane w poleceniu w są tworzone / obcinane przed uruchomieniem jakichkolwiek poleceń.

$ sed 'w created-file' < /dev/null && ls created-file && rm created-file
created-file

Od standardu:

Każdy plik w pliku zostanie utworzony przed rozpoczęciem przetwarzania. Implementacje powinny obsługiwać co najmniej dziesięć argumentów w pliku w skrypcie; rzeczywista liczba (większa lub równa 10) obsługiwana przez implementację nie jest określona. Użycie parametru wfile spowoduje początkowe utworzenie tego pliku, jeśli nie istnieje, lub zastąpi zawartość istniejącego pliku.


BSD sed udostępnia opcję -a , aby opóźnić tworzenie / obcinanie plików, dopóki nie zostaną zapisane w poleceniu w.

$ if sed -a 'w created-file' < /dev/null && [ ! -e created-file ]; then
>       echo The file was not created
> fi
The file was not created

Zawijanie linii

Długość zawijania linii przy użyciu polecenia l jest zdefiniowana implementacja.

Od standardu:

Długie linie należy złożyć, z punktem zgięcia wskazanym przez napisanie, a następnie; długość, przy której następuje składanie, jest nieokreślona, ale powinna być odpowiednia dla urządzenia wyjściowego.


GNU sed udostępnia opcję -l , aby określić długość podziału długich linii podczas drukowania poleceniem l , domyślnie siedemdziesiąt znaków.

$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1 | wc -c
      71
$ yes | head -c100 | tr '\n' ' ' | sed -nl50 l | head -n1 | wc -c
      51

BSD sed dzieli długie linie na liczbę podaną przez zmienną środowiskową COLUMNS , jeśli COLUMNS nie jest podany, wówczas dzieli się na szerokości terminala, a jeśli COULMNS nie jest podany, a wyjście nie jest terminalem, wówczas domyślnie ma sześćdziesiąt znaków.

$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1 | wc -c
      61
$ yes | head -c100 | tr '\n' ' ' | COLUMNS=50 sed -n l | head -n1 | wc -c
      51
$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1
y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y\
 y y y y y y y y y y $


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow