sed - strøm-editor til filtrering og transformation af
tekst
sed [-V] [--version] [--help] [-n] [--quiet] [--silent]
[-l N] [--line-length=N] [-u] [--unbuffered]
[-E] [-r] [--regexp-extended]
[-e script] [--expression=script]
[-f script-file] [--file=script-file]
[script-if-no-other-script]
[file...]
Sed er et strømredigeringsprogram. Et
strømredigeringsprogram bruges til at udføre
grundlæggende teksttransformationer på en indgangsstrøm
(en fil eller inddata fra en datakanal). På nogle måder lig et
redigeringsprogram der tillader skriptopsatte redigeringer (såsom
ed), sed fungerer ved kun at lave et gennemløb over
inddataene, og er derfor mere effektiv. Men det er sed's evne til at
filtrere tekst i en datakanal, der specielt skelner programmet fra andre
typer af redigeringsprogrammer.
-n, --quiet, --silent
- undertryk automatisk udskrift af mønstermellemrum
--debug
- kommentere programudførelse
-e script, --expression=script
- tilføj scriptet til kommandoerne, der skal køres
-f script-file, --file=script-file
- føj indholdet af scriptfil til kommandoerne, der skal
køres
--follow-symlinks
- følg symlænker når der redigeres i filer
-i[SUFFIX], --in-place[=SUFFIX]
- redigér filer (laver sikkerhedskopi hvis SUFFIKS er givet)
-l N, --line-length=N
- angiv ønsket længde for linjeombrydning til
'l'-kommandoen
--posix
- slå alle GNU-udvidelser fra.
-E, -r, --regexp-extended
- brug udvidede regulære udtryk i scriptet (brug -E fra POSIX
for platformsuafhængighed)
-s, --separate
- betragt filer som separate frem for som en enkelt, kontinuert
strøm.
--sandbox
- kør i sandkassetilstand (slå e/r/w kommandoer fra).
-u, --unbuffered
- indlæs minimale mængder af data fra inddatafilerne, og
tøm uddatabufferne oftere
-z, --null-data
- adskil linjer med NUL-tegn
- --help
- vis denne hjælpetekst og afslut
- --version
- vis versionsinformation og afslut
Hvis der ikke er givet nogen af flagene -e,
--expression, -f eller --file, så vil
første argument, der ikke er et flag, betragtes som et sed-script,
der skal fortolkes. Alle resterende argumenter er navne på
inddatafiler; hvis ingen inddatafiler er angivet, læses
standard-inddata.
Hjemmeside for GNU sed: <https://www.gnu.org/software/sed/>.
Generel hjælp til GNU-programmer:
<https://www.gnu.org/gethelp/>. Send fejlrapporter til:
<bug-sed@gnu.org>.
Packaged by Debian Copyright © 2022 Free Software
Foundation, Inc. License GPLv3+: GNU GPL version 3 or later
<https://gnu.org/licenses/gpl.html>. This is free software: you are
free to change and redistribute it. There is NO WARRANTY, to the extent
permitted by law.
Dette er kun en kort synopsis over sed-kommandoer, som
huskeseddel for dem der allerede kender sed; anden dokumentation
(såsom texinfo-dokumentet) skal konsulteres for yderligere
beskrivelser.
»Kommandoer« uden adresse
- : etiket
- Etiket for kommandoerne b og t.
- #kommentar
- Kommentarerne udvides indtil næste linjeskift (eller slutningen af
et -e-skriptfragment).
- }
- Lukkeparentesen for en { }-blok.
- =
- Udskriv det aktuelle linjenummer.
- a \
- tekst
- Tilføj tekst, der har hver indlejret linjeskift foranstillet
med en skråstreg.
- i \
- tekst
- Indsæt tekst, der har hver indlejret linjeskift foranstillet
med en skråstreg.
- q [slutstatus]
- Afslut øjeblikkeligt sed-skriptet uden at behandle flere
inddata, undtaget at hvis auto-print ikke er deaktiveret så vil det
nuværende mønster-mellemrum blive vist. Argumentet for
afslutstatus er en GNU-udvidelse.
- Q [slutstatus]
- Afslut øjeblikkeligt skriptet sed uden at behandle flere
data. Dette er en GNU-udvidelse.
- r filnavn
- Tilføj tekst læst fra filnavn.
- R filnavn
- Tilføj en linje læst fra filnavn. Hver
igangsættelse af kommandoen læser en linje fra filen. Dette
er en GNU-udvidelse.
- {
- Begynd en kommandoblok (afslut med a }).
- b etiket
- Forgren til etiket; hvis etiket udelades, forgren til
slutningen af skriptet.
- c \
- tekst
- Erstat de valgte linjer med tekst, der har indlejrede linjeskift
foranstillet med en omvendt skråstreg.
- d
- Slet mønster-mellemrum. Start næste cyklus.
- D
- Hvis mønstermellemrum ikke indeholder et linjeskift, så
start en normal ny cyklus som var d-kommandoen udstedt. Ellers slet tekst
i mønsterrummet op til det første linjeskift og genstart
cyklus med det medfølgende mønstermellemrum, uden at
læse en ny linje med inddata.
- h H
- Kopier/tilføjer mønster-mellemrum til hold-mellemrum.
- g G
- Kopier/tilføj hold-mellemrum til mønster-mellemrum.
- l
- Fremhæv den nuværende linje i en »visuelt
entydig« form.
- l bredde
- Vis den nuværende linje i en »visuel utvetydig« form,
omdbrudt med bredde tegn. Dette er en GNU-udvidelse.
- n N
- Læs/tilføj den næste linje af inddata i
mønsterrummet.
- p
- Vis det nuværnede mønstermellemrum.
- P
- Vis op til det første indlejrede linjeskift for det
nuværende mønstermellemrum.
- s/regudtryk/erstatning/
- Forsøger at matche regudtryk mod mønstermellemrummet.
Hvis succesfuldt, erstat delen matchet med erstatning.
erstatning kan indeholde det specielle tegn & for at
referere til den del af mønster-mellemrummet, der matcher, og de
specielle undvigelsesteng \1 til \9 refererer til de tilsvarende matchende
underudtryk i regudtryk.
- t etiket
- Hvis en s/// har udført en succesfuld erstatning siden den sidste
inddatalinje blev læst og siden den sidste t- eller T-kommando,
så forgren til etiket; hvis etiket udelades,
så forgren til slutningen af skriptet.
- T etiket
- Hvis ingen s/// har udført en succesfuld erstatning siden den
sidste inddatalinje blev læst og siden den sidste t- eller
T-kommando, så forgren til etiket; hvis etiket
udelades, så forgren til slutningen af skriptet. Dette er en
GNU-udvidelse.
- w filnavn
- Skriv det nuværende mønster-mellemrum til
filnavn.
- W filnavn
- Skriv den første linje for det nuværende
mønster-mellemrum til filnavn. Dette er en
GNU-udvidelse.
- x
- Udveksl indholdet af hold- og mønster-mellemrum.
- y/kilde/mål/
- Translitterer tegnene i mønster-mellemrummet der fremgår i
kilde til det tilsvarnede tegn i mål.
Sed-kommandoer kan angives uden adresser, og i de
tilfælde vil kommandoen blive afviklet for alle inddatalinjer; med en
adresse, og i de tilfælde vil kommandoen blive afviklet for
inddatalinjer, der matcher den adresse; eller med to adressser, og i de
tilfælde vil kommandoen blive afviklet for alle inddatalinjer, der
matcher intervallet af linjer startende fra den første adresse og
fortsættende til den anden adresse. Tre ting om adresseintervaller:
Syntaksen er adr1,adr2 (dvs. adresserne er adskilt af et
komma); linjen som adr1 matchede vil altid blive accepteret, selv
hvis adr2 vælger en tidligere linje; og hvis adr2 er et
regudtryk, så vil det ikke blive testet mod linjen som
adr1 matchede.
Efter adressen (eller adresseintervallet) og før
kommandoen, kan et ! indsættes, hvilket angiver at kommandoen
kun skal afvikles hvis adressen (eller adresseintervallet) ikke
matcher.
Følgende adressetyper understøttes:
- nummer
- Match kun den angivne linje nummer (der øges kumulativt
på tværs af filer, medmindre at tilvaget -s er
anført på kommandolinjen).
- først~skridt
- Match hvert trin's linje startende med linje første.
For eksempel vil »sed -n 1~2p« udskrive alle de ulige numre
i inddatastrømmen og adresserne 2~5 vil matche hver femte linje,
startende med den anden. første kan være nul; i det
tilfælde fungerer sed som var det lig trin. (Dette er
en udvidelse).
- $
- Match den sidste linje.
- /regudtryk/
- Match linjer der matcher det regulære udtryk regudtryk.
Matchning udføres på det nuværende
mønstermellemrum, der kan ændres med kommandoer såsom
»s///«.
- \cregudtrykc
- Match linjer der matcher det regulære udtryk regudtryk.
c kan være ethvert tegn.
GNU sed understøtter også nogle specielle
2-adresseformer:
- 0,adr2
- Begynd i »matchede første adresse«-tilstand, indtil
adr2 er fundet. Dette svarer til 1,adr2, undtaget at hvis
adr2 matcher den første linje med inddata vil formen
0,addr2 være i slutningen af dets interval, hvorimod formen
1,adr2 stadig vil være i begyndelsen af dets interval. Dette
fungerer kun når adr er et regulært udtryk.
- adr1,+N
- Vil matche adr1 og N linjer efter adr1.
- adr1,~N
- Vil matche adr1 og linjerne der følger adr1 indtil
den næste linje hvis linjenummer er et multiplum af N.
POSIX.2 BRE'er bør være understøttet,
men det er de ikke på grund af ydelsesproblemer. Sekvensen \n
i et regulært udtryk matcher nylinje-tegnet, og tilsvarende for
\a, \t og andre sekvenser. Tilvalget -E skifter til at
bruge udvidede regulære udtryk i stedet for; det er blevet
understøttet i mange år af GNU sed, og er nu inkluderet i
POSIX.
Send fejlrapporter på engelsk pr. e-post til:
bug-sed@gnu.org. Sørg venligst for at skrive ordet »sed
--version« et sted i emnefeltet.
Skrevet af Fenlason, Tom Lord, Ken Pizzini, Paolo Bonzini, Jim
Meyering og Assaf Gordon.
This sed program was built with SELinux support. SELinux is
disabled on this system.
Hjemmeside for GNU sed: <https://www.gnu.org/software/sed/>.
Generel hjælp til GNU-programmer:
<https://www.gnu.org/gethelp/>. Send fejlrapporter til:
<bug-sed@gnu.org>.
awk(1), ed(1), grep(1), tr(1),
perlre(1), sed.info, enhver af de forskellige bøger om
sed, sed OSS'en
(http://sed.sf.net/grabbag/tutorials/sedfaq.txt),
http://sed.sf.net/grabbag/.
Den fulde dokumentation for sed vedligeholdes som
Texinfo-manual. Hvis info og sed programmerne er korrekt
installeret på din side, bør kommandoen
- info sed
give dig adgang til den fulde manual.