sed — strömredigerare för filtrering och
transformering av text
sed [-V] [--version] [--help] [-n] [--quiet] [--silent]
[-l N] [--line-length=N] [-u] [--unbuffered]
[-E] [-r] [--regexp-extended]
[-e skript] [--expression=skript]
[-f skriptfil] [--file=skriptfil]
[skript-om-inget-annat-skript]
[fil…]
Sed är en strömredigerare. En
strömredigerare används för att utföra
grundläggande texttransformationer av en indataström (en fil
eller indata från ett rör). Medan den på en del
sätt liknar en redigerare som tillåter skriptade redigeringar
(såsom ed) fungerar sed genom att göra bara ett
pass över indata, och är därmed effektivare. Men det
är seds förmåga att filtrera text i ett
rör som i synnerhet särskiljer den från andra typer av
redigerare.
-n, --quiet, --silent
- förhindra automatisk utskrift av mönsterutrymmet
--debug
- annotera programkörningen
-e skript, --expression=skript
- Lägg till skript till de kommandon som ska utföras.
-f skriptfil, --file=skriptfil
- Lägg till innehållet i skriptfil till de kommandon som ska
utföras.
--follow-symlinks
- Följ symlänkar när behandling sker på
plats.
-i[ÄNDELSE],
--in-place[=ÄNDELSE]
- Redigera filer på plats (skapar säkerhetskopia om
ÄNDELSE tillhandahålls).
-l N, --line-length=N
- Ange önskad radbrytningslängd för
”l”-kommandot.
--posix
- Inaktivera alla GNU-utökningar.
-E, -r, --regexp-extended
- Använd utökade reguljära uttryck i skriptet
(för portabilitet använd POSIX -E).
-s, --separate
- Betrakta filer som separata istället för som en kontinuerlig
lång dataström.
--sandbox
- Arbeta i sandlådeläge (inaktivera kommandona e/r/w).
-u, --unbuffered
- Läs in minimala mängder data från indatafilerna och
töm utdatabuffertarna oftare.
-z, --null-data
- separera rader med NUL-tecken
- --help
- visa denna hjälp och avsluta
- --version
- visa versionsinformation och avsluta
Om ingen av flaggorna -e, --expression, -f
eller --file ges, blir det första argumentet som inte
är en flagga det sed-skript som tolkas. Alla
återstående argument är namn på indatafiler. Om
inga indatafiler är angivna läses standard in.
Webbsida för GNU sed:
<https://www.gnu.org/software/sed/>. Allmän hjälp
för GNU-programvara: <https://www.gnu.org/gethelp/>. Skicka
felrapporter till: <bug-sed@gnu.org>. Skicka synpunkter på
översättningen till <tp-sv@listor.tp-sv.se>.
Paketerat av Debian Copyright © 2022 Free Software
Foundation, Inc. Licens GPLv3+: GNU GPL version 3 eller senare
<https://gnu.org/licenses/gpl.html>. Detta är fri programvara:
du får fritt ändra och vidaredistribuera den. Det finns INGEN
GARANTI, så långt lagen tillåter.
Detta är bara ett kort synopsis för seds
kommandon för att tjäna som en påminnelse för
dem som redan kan sed; annan dokumentation (såsom
texinfo-dokumentet) måste betraktas för mer
fullständiga beskrivningar.
- : etikett
- Etikett för kommandona b och t.
- #kommentar
- Kommentarer sträcker sig till nästa nyrad (eller slutet av
ett -e-skriptfragment).
- }
- Den avslutande klammern för ett { }-block.
- =
- Skriv ut det aktuella radnumret.
- a \
- text
- Lägg till text, där inbäddade nyrader
föregås av ett omvänt snedstreck.
- i \
- text
- Infoga text, där inbäddade nyrader
föregås av ett omvänt snedstreck.
- q [slutkod]
- Avsluta omedelbart sed-skriptet utan att bearbeta någon
ytterligare indata, förutom att om automatutskrift inte är
avaktiverat så kommer det nuvarande mönsterutrymmet att
skrivas ut. Slutkodsargumentet är en GNU-utvidgning.
- Q [slutkod]
- Avsluta omedelbart sed-skriptet utan att bearbeta någon
ytterligare indata. Slutkodsargumentet är en GNU-utvidgning.
- r filnamn
- Lägg till text som läses från filnamn.
- R filnamn
- Lägg till en rad från filnamn. Varje anrop av
kommandot läser en rad från filen. Detta är en
GNU-utvidgning.
- {
- Inled ett block av kommandon (avsluta med en }).
- b etikett
- Grena till etikett; om etikett utelämnas, grena till
slutet av skriptet.
- c \
- text
- Ersätt den valda raden med text, där inbäddade
nyrader föregås av ett omvänt snedstreck.
- d
- Radera mönsterutrymmet. Starta nästa cykel.
- D
- Om mönsterutrymmet inte innehåller någon nyrad,
starta en normal ny cykel som om kommandot d avgavs. Annars, radera text i
mönsterutrymmet fram till den första nyraden, och starta om
en cykel med det resulterande mönsterutrymmet, utan att läsa
en ny rad från indata.
- h H
- Kopiera/lägg till mönsterutrymmet till lastutrymmet.
- g G
- Kopiera/lägg till lastutrymmet till mönsterutrymmet.
- l
- Skriv ut den aktuella raden på ett ”visuellt
otvetydigt” format.
- l bredd
- Skriv ut den aktuella raden på ett ”visuellt
otvetydigt” format, med radbrytning vid bredd tecken. Detta
är en GNU-utvidgning.
- n N
- Läs/lägg till nästa rad av indata in i
mönsterutrymmet.
- p
- Skriv ut det nuvarande mönsterutrymmet.
- P
- Skriv ut fram till den första inbäddade nyraden i det
nuvarande mönsterutrymmet.
- s/reguttr/ersättning/
- Försök att matcha reguttr mot mönsterutrymmet.
Om det lyckas, ersätt då den delen som matchas med
ersättning. Ersättningen kan innehålla
det speciella tecknet & för att referera till den delen
av mönsterutrymmet som matchade, och de speciella styrsekvenserna
\1 till \9 för att referera till motsvarande deluttryck i
reguttr.
- t etikett
- Om ett s/// har gjort en lyckad substitution sedan den senaste indataraden
lästes och sedan det senaste t- eller T-kommandot, grena i
så fall till etikett; om etikett utelämnas,
grena till slutet av skriptet.
- T etikett
- Om inget s/// har gjort en lyckad substitution sedan den senaste
indataraden lästes och sedan det senaste t- eller T-kommandot,
grena i så fall till etikett; om etikett
utelämnas, grena till slutet av skriptet. Detta är en
GNU-utvidgning.
- w filnamn
- Skriv ut det nuvarande mönsterutrymmet till filnamn.
- W filnamn
- Skriv den första raden i det nuvarande mönsterutrymmet till
filnamn. Detta är en GNU-utvidgning.
- x
- Byt ut innehållen mellan last- och mönsterutrymmena.
- y/källa/dest/
- Transliterera tecknen i mönsterutrymmet som förekommer i
källa till motsvarande tecken i dest.
Sed-kommandon kan ges utan adresser, då kommandot
kommer köras på alla indatarader; med en adress, då
kommandot bara kommer köras på indatarader som matchar den
adressen; eller med två adresser, då kommandot kommer
köras på alla indatarader som matchar det slutna intervallet
av rader som börjar från den första adressen och
fortsätter till den andra adressen. Tre saker att notera om
adressintervall: syntaxen är adr1,adr2 (d.v.s.,
adresserna separeras med ett komma); raden som adr1 matchade kommer
alltid accepteras, även om adr2 väljer en tidigare rad;
och om adr2 är ett reguttr kommer det inte att testas
mot raden som adr1 matchade.
Efter att adressen (eller adressintervallet), och före
kommandot, kan ett ! infogas, vilket anger att kommandot bara skall
köras om adressen (eller adressintervallet) inte matchar.
Följande adresstyper stödjs:
- nummer
- Matcha endast den angivna raden nummer (vilket ökas
successivt mellan filer, om inte flaggan -s anges på
kommandoraden).
- första~steg
- Matcha var steg:e rad med början på rad
första. Till exempel, ”sed -n 1~2p” kommer
skriva ut alla rader med udda nummer i indataströmmen, och adressen
2~5 kommer matcha var femte rad, med början på den andra.
Första kan vara noll; i så fall arbetar sed
som om den var lika med steg. (Detta är en utvidgning.)
- $
- Matcha den sista raden.
- /reguttr/
- Matcha rader som matchar det reguljära uttrycket reguttr.
Matchningen utförs på det nuvarande mönsterutrymmet,
vilket kan modifieras med kommandon som ”s///”.
- \creguttrc
- Matcha rader som matchar det reguljära uttrycket reguttr.
c kan vara godtyckligt tecken.
GNU sed stödjer även några speciella
2-adressformer:
- 0,adr2
- Starta i tillståndet ”matchade första
adressen”, tills adr2 hittas. Detta liknar 1,adr2,
med undantaget att om adr2 matchar den allra första
indataraden kommer 0,adr2 vara vid slutet av sitt intervall, medan
formen 1,adr2 fortfarande kommer vara i början av sitt
intervall. Detta fungerar endast när adr2 är ett
reguljärt uttryck.
- adr1,+N
- Kommer matcha adr1 och de N följande raderna efter
adr1.
- adr1,~N
- Kommer matcha adr1 och raderna som följer efter adr1
till nästa rad vars indataradnummer är en multipel av
N.
POSIX.2 BRE:er skulle stödjas, men det görs
inte fullständigt på grund av prestandaproblem. Sekvensen
\n i ett reguljärt uttryck matchar nyradstecknet, och liknande
för \a, \t, och andra sekvenser. Flaggan -E
byter till att använda utökade reguljära uttryck
istället; den har stötts i åratal av GNU sed, och
är nu inkluderat i POSIX.
E-posta felrapporter till bug-sed@gnu.org. Inkludera
gärna även utdata från ”sed --version” i
kroppen av din rapport om möjligt. E-posta anmärkningar
på översättningen till
tp-sv@listor.tp-sv.se.
Skrivet av Jay Fenlason, Tom Lord, Ken Pizzini, Paolo Bonzini, Jim
Meyering och Assaf Gordon.
Detta sed-program byggdes med stöd för SELinux.
SELinux är avaktiverat på detta system.
Webbsida för GNU sed:
<https://www.gnu.org/software/sed/>. Allmän hjälp
för GNU-programvara: <https://www.gnu.org/gethelp/>. Skicka
felrapporter till: <bug-sed@gnu.org>. Skicka synpunkter på
översättningen till <tp-sv@listor.tp-sv.se>.
awk(1), ed(1), grep(1), tr(1),
perlre(1), sed.info, vilken som helst av olika böcker om
sed, sed:s FAQ
(http://sed.sf.net/grabbag/tutorials/sedfaq.txt),
http://sed.sf.net/grabbag/.
Den fullständiga dokumentationen för sed
underhålls som en Texinfo-manual. Om programmen info och
sed är ordentligt installerade på ditt system,
bör kommandot
- info sed
ge dig tillgång till den kompletta manualen.
ÖVERSÄTTNING
Den svenska översättningen av denna manualsida
skapades av Göran Uddeborg <goeran@uddeborg.se>
Denna översättning är fri dokumentation;
läs
GNU General
Public License Version 3 eller senare för
upphovsrättsvillkor. Vi tar INGET ANSVAR.
Om du hittar fel i översättningen av denna
manualsida, skicka ett mail till
Tp-sv@listor.tp-sv.se.