sed
Opcje dodatkowe
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 $