SED(1) | Användarkommandon | SED(1) |
NAMN
sed — strömredigerare för filtrering och transformering av text
SYNOPSIS
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…]
BESKRIVNING
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
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>.
KOMMANDOSYNOPSIS
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.
Nolladress-”kommandon”
- : 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.
Noll- eller enadresskommandon
- =
- 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.
Kommandon vilka accepterar adressintervall
- {
- 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.
Adresser
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.
REGULJÄRA UTTRYCK
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.
FEL
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.
UPPHOVSMAN
Skrivet av Jay Fenlason, Tom Lord, Ken Pizzini, Paolo Bonzini, Jim Meyering och Assaf Gordon.
Detta sed-program byggdes utan stöd för SELinux.
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>.
COPYRIGHT
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.
SE ÄVEN
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.
mars 2023 | GNU sed 4.9 |