SED(1) | Brugerkommandoer | SED(1) |
NAVN
sed - strøm-editor til filtrering og transformation af tekst
SYNOPSIS
sed [-V] [--version] [--help] [-n] [--quiet] [--silent] [-l N] [--line-length=N] [-u] [--unbuffered] [-E] [-r] [--regexp-extended] [-e skript] [--expression=script] [-f skriptfil] [--file=skriptfil] [skript-hvis-intet-andet-skript] [fil...]
BESKRIVELSE
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=skript
- tilføj scriptet til kommandoerne, der skal køres
-f skriptfil, --file=skriptfil
- føj indholdet af skriptfil til kommandoerne, der skal køres
--follow-symlinks
- følg symlænker når der redigeres i filer
-i[SUFFIKS], --in-place[=SUFFIKS]
- 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
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>.
KOMMANDOSYNOPSIS
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.
Kommandoer uden eller med en adresse
- =
- 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.
Kommandoer der accepterer adresseinterval
- {
- 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.
ADRESSER
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.
REGULÆRE UDTRYK
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.
FEJL
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.
FORFATTER
Skrevet af Fenlason, Tom Lord, Ken Pizzini, Paolo Bonzini, Jim Meyering og Assaf Gordon.
Dette sed-program blev bygget med SELinux-understøttelse.
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>.
OPHAVSRET
Ophavsret © 2022 Free Software Foundation, Inc. Licens
GPLv3+: GNU GPL version 3 eller nyere
https://gnu.org/licenses/gpl.html.
Dette er et frit program: du kan frit ændre og videredistribuere det.
Der gives INGEN GARANTI, i den grad som loven tillader dette.
SE OGSÅ
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.
OVERSÆTTELSE
Oversættere af denne manual til dansk Joe Hansen <joedalton2@yahoo.dk>
Denne oversættelse er gratis dokumentation; læs GNU General Public License version 3 eller nyere for ophavsretbetingelser. Der er INGEN ANSVAR.
Hvis du støder på fejl i oversættelsen af denne vejledning, skal du sende en besked til debian-l10n-danish@lists.debian.org.
marts 2023 | GNU sed 4.9 |