sed(1)
NAMN
sed – strömredigerare för att filtrera och transformera text
SYNOPS
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-ingen-flagga] [fil...]
BESKRIVNING
sed är en strömredigerare. En strömredigerare används för att utföra grundläggande texttransformationer på en indataström (en fil eller indata från en pipe). Till skillnad från vanliga redigerare, som tillåter interaktiva ändringar, gör sed endast ett enda pass över indatan, vilket gör den effektiv. Det är särskilt sed:s förmåga att filtrera text i en pipe som skiljer den från andra redigerare.
-n, --quiet, --silent
- Undertryck automatisk utskrift av mönsterutrymmet
--debug
- Visa steg-för-steg-körning av skriptet
-e skript, --expression=skript
- Lägg till skriptet till kommandon som ska köras
-f skriptfil, --file=skriptfil
- Lägg till innehållet i skriptfilen till kommandona som ska köras
--follow-symlinks
- Följ symboliska länkar vid redigering på plats
-i[SUFFIX], --in-place[=SUFFIX]
- Redigera filer på plats (skapar backup om suffix anges)
-l N, --line-length=N
- Ange önskad radbrytningslängd för kommandot `l`
--posix
- Inaktivera alla GNU-tillägg
-E, -r, --regexp-extended
- Använd utökade reguljära uttryck (POSIX-kompatibelt)
-s, --separate
- Behandla varje fil separat, inte som en lång ström
--sandbox
- Kör i säkert läge (inaktiverar kommandon e/r/w)
-u, --unbuffered
- Läser in data i små mängder och flushar ofta
-z, --null-data
- Använd NUL i stället för radbrytning som radavskiljare
--help
- Visa denna hjälpinformation och avsluta
--version
- Visa versionsinformation och avsluta
Om ingen -e, --expression, -f eller --file anges, tolkas det första icke-flaggarumentet som skriptet. Resterande argument är filnamn. Om inga filer anges, används standard in.
Hemsida: [1](https://www.gnu.org/software/sed/) Hjälp: [2](https://www.gnu.org/gethelp/) Felrapporter: [3](mailto:bug-sed@gnu.org)
Perfekt! Här är nästa del av översättningen av `sed(1)`-manualsidan: **== KOMMANDOSAMMANFATTNING ==**
---
\== KOMMANDOSAMMANFATTNING ==
Detta är en kort sammanfattning av kommandon i sed, främst som en påminnelse för användare som redan är bekanta med verktyget. För fullständig beskrivning, se texinfo-manualen eller annan dokumentation.
\=== Kommandon utan adress (”noll-adresskommandon”) ===
: etikett
- Definierar en etikett för användning med kommandona b och t
# kommentar
- Kommentar som sträcker sig till nästa radbrytning (eller slut på ett `-e`-fragment)
}
- Avslutningsklammer för block `{ ... }`
\=== Kommandon med noll eller en adress ===
=
- Skriv ut aktuell radnummer
a \ text
- Lägg till text efter aktuell rad. Nya rader måste föregås av omvänt snedstreck (`\`)
i \ text
- Infoga text före aktuell rad
q [utgångskod]
- Avsluta skriptet omedelbart. Skriv ut aktuell rad om auto-print inte är avstängt (GNU-tillägg)
Q [utgångskod]
- Avsluta skriptet utan att skriva ut något (GNU-tillägg)
r filnamn
- Lägg till innehållet från angiven fil efter aktuell rad
R filnamn
- Läs in och lägg till en rad från angiven fil (läser en rad per gång) (GNU-tillägg)
\=== Kommandon med adressintervall (två-adresskommandon) ===
{
- Start på ett block av kommandon (avslutas med `}`)
b [etikett]
- Hoppa till etikett. Om ingen etikett anges, hoppa till slutet av skriptet
c \ text
- Ersätt angivna rader med text
d
- Radera mönsterutrymmet och börja nästa cykel
D
- Ta bort upp till första radbrytning i mönsterutrymmet och starta ny cykel med återstående text
h H
- Kopiera / lägg till mönsterutrymmet till hållutrymmet
g G
- Kopiera / lägg till hållutrymmet till mönsterutrymmet
l [bredd]
- Skriv ut aktuell rad i entydigt format, ev. radbrytning vid angiven bredd (GNU-tillägg)
n N
- Läs in / lägg till nästa rad i mönsterutrymmet
p
- Skriv ut mönsterutrymmet
P
- Skriv ut fram till första radbrytning i mönsterutrymmet
s/regexp/ersättning/
- Ersätt mönster. Använd `&` för att referera till träffen, `\1`–`\9` för grupper
t [etikett]
- Hoppa till etikett om en substitution (s///) lyckats sedan senaste rad eller `t`/`T`
T [etikett]
- Hoppa till etikett om ingen substitution lyckats sedan senaste `t`/`T` (GNU-tillägg)
w filnamn
- Skriv mönsterutrymmet till fil
W filnamn
- Skriv endast första raden av mönsterutrymmet till fil (GNU-tillägg)
x
- Växla innehåll mellan mönsterutrymme och hållutrymme
y/källa/mål/
- Ersätt tecken i ”källa” med motsvarande i ”mål”
KOMMANDOSAMMANFATTNING
Detta är en kort sammanfattning av kommandon i sed, främst som en påminnelse för användare som redan är bekanta med verktyget. För fullständig beskrivning, se texinfo-manualen eller annan dokumentation.
Kommandon utan adress (”noll-adresskommandon”)
: etikett
- Definierar en etikett för användning med kommandona b och t
# kommentar
- Kommentar som sträcker sig till nästa radbrytning (eller slut på ett `-e`-fragment)
}
- Avslutningsklammer för block `{ ... }`
Kommandon med noll eller en adress
=
- Skriv ut aktuell radnummer
a text
- Lägg till text efter aktuell rad. Nya rader måste föregås av omvänt snedstreck (``)
i text
- Infoga text före aktuell rad
q [utgångskod]
- Avsluta skriptet omedelbart. Skriv ut aktuell rad om auto-print inte är avstängt (GNU-tillägg)
Q [utgångskod]
- Avsluta skriptet utan att skriva ut något (GNU-tillägg)
r filnamn
- Lägg till innehållet från angiven fil efter aktuell rad
R filnamn
- Läs in och lägg till en rad från angiven fil (läser en rad per gång) (GNU-tillägg)
Kommandon med adressintervall (två-adresskommandon)
{
- Start på ett block av kommandon (avslutas med `}`)
b [etikett]
- Hoppa till etikett. Om ingen etikett anges, hoppa till slutet av skriptet
c text
- Ersätt angivna rader med text
d
- Radera mönsterutrymmet och börja nästa cykel
D
- Ta bort upp till första radbrytning i mönsterutrymmet och starta ny cykel med återstående text
h H
- Kopiera / lägg till mönsterutrymmet till hållutrymmet
g G
- Kopiera / lägg till hållutrymmet till mönsterutrymmet
l [bredd]
- Skriv ut aktuell rad i entydigt format, ev. radbrytning vid angiven bredd (GNU-tillägg)
n N
- Läs in / lägg till nästa rad i mönsterutrymmet
p
- Skriv ut mönsterutrymmet
P
- Skriv ut fram till första radbrytning i mönsterutrymmet
s/regexp/ersättning/
- Ersätt mönster. Använd `&` för att referera till träffen, `1`–`9` för grupper
t [etikett]
- Hoppa till etikett om en substitution (s///) lyckats sedan senaste rad eller `t`/`T`
T [etikett]
- Hoppa till etikett om ingen substitution lyckats sedan senaste `t`/`T` (GNU-tillägg)
w filnamn
- Skriv mönsterutrymmet till fil
W filnamn
- Skriv endast första raden av mönsterutrymmet till fil (GNU-tillägg)
x
- Växla innehåll mellan mönsterutrymme och hållutrymme
y/källa/mål/
- Ersätt tecken i ”källa” med motsvarande i ”mål”
ADRESSER
Kommandon i sed kan ges utan adresser (verkställs på alla rader), med en adress (verkställs endast på matchande rader) eller med två adresser (verkställs på alla rader mellan de två – inklusive båda).
Tre viktiga saker att notera om adressintervall:
1. Syntaxen är `addr1,addr2` (kommatecken mellan adresserna). 2. Raden som matchar `addr1` kommer **alltid** att verkställas, även om `addr2` är en tidigare rad. 3. Om `addr2` är ett reguljärt uttryck, så matchas det **inte** mot samma rad som `addr1` matchade.
Efter en adress (eller adressintervall) kan ett `!` placeras för att ange att kommandot **endast** ska köras **om adressen inte matchar**.
Stödda adresstyper:
- nummer
- Matchar endast den angivna radenummern (räknas ackumulerat över flera filer, om inte `-s` anges)
- första~steg
- Matchar varje `steg`:te rad, med början från rad `första`
Exempel:
sed -n 1~2p
skriver ut alla udda rader. `2~5` matchar var femte rad med start från rad 2. Om `första` är 0, tolkas det som `steg`. (GNU-tillägg)
- $
- Matchar sista raden
- /regexp/
- Matchar rader som överensstämmer med reguljärt uttryck
- cregexpc
- Samma som ovan men med valfri avgränsare (`c` kan vara t.ex. `#`, `|`, osv)
GNU sed stöder även några speciella tvåadressformer:
- 0,addr2
- Matchar från början till `addr2`.
Skillnad mot `1,addr2`: om `addr2` matchar första raden, så är intervallet över i `0,addr2`, men inte i `1,addr2`. Fungerar endast om `addr2` är ett reguljärt uttryck.
- addr1,+N
- Matchar `addr1` och de N rader som följer
- addr1,~N
- Matchar `addr1` och alla efterföljande rader upp till nästa rad vars nummer är en multipel av N
REGULJÄRA UTTRYCK
sed använder reguljära uttryck enligt POSIX.2 BRE (Basic Regular Expressions). Stöd finns, men inte fullt ut – främst av prestandaskäl.
Escape-sekvenser som fungerar i reguljära uttryck inkluderar:
- `n` – matchar ett radslut (newline)
- `a`, `t` osv. – matchar motsvarande kontrolltecken (ringsignal, tabb etc.)
Flaggan `-E` (eller `-r`) aktiverar **utökade reguljära uttryck** (ERE). Detta stöds av GNU sed sedan länge och är nu även del av POSIX-standarden.
BUGGAR
Skicka buggrapporter via e-post till:
- [bug-sed@gnu.org](mailto:bug-sed@gnu.org)**
Om möjligt, inkludera även utdata från:
sed --version
FÖRFATTARE
Skriven av Jay Fenlason, Tom Lord, Ken Pizzini, Paolo Bonzini, Jim Meyering och Assaf Gordon.
Detta sed-program är byggt med stöd för SELinux. SELinux är aktiverat på detta system.
Hemsida för GNU sed: [4](https://www.gnu.org/software/sed/)
Allmän hjälp med GNU-programvara: [5](https://www.gnu.org/gethelp/)
Buggrapporter skickas till: [6](mailto:bug-sed@gnu.org)
COPYRIGHT
Copyright © 2022 Free Software Foundation, Inc. Licens GPLv3+: GNU GPL version 3 eller senare: [7](https://gnu.org/licenses/gpl.html)
Detta är fri programvara: du får ändra och distribuera den. Det finns INGEN GARANTI, i den omfattning lagen medger.
SE ÄVEN
awk(1), ed(1), grep(1), tr(1), perlre(1), sed.info, diverse böcker om sed, samt FAQ:en:
[8](http://sed.sf.net/grabbag/tutorials/sedfaq.txt) [9](http://sed.sf.net/grabbag/)
Fullständig dokumentation för sed finns i Texinfo-manualen. Om kommandona `info` och `sed` är korrekt installerade kan du köra:
info sed
för att läsa hela manualen.
Sidslut
Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/sed.1.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp hemma som har sponsrat Linux.se med webbhotell.