sed
Indirizzo e intervallo di indirizzi
Ricerca…
introduzione
I comandi Sed possono essere specificati per agire solo su determinate linee utilizzando indirizzi o intervalli di indirizzi .
Linea specifica
$ cat ip.txt
address
range
substitution
pattern
sample
N linea
$ sed -n '2p' ip.txt range $ sed '3d' ip.txt address range pattern sample
Ultima linea
$ sed -n '$p' ip.txt sample
Gamma specifica di linee
$ cat ip.txt
address
range
substitution
pattern
sample
L'intervallo specificato è comprensivo di quei numeri di riga
$ sed -n '2,4p' ip.txt range substitution pattern
$
può essere usato per specificare l'ultima riga. Lo spazio può essere usato tra l'indirizzo e il comando per chiarezza$ sed -n '3,$ s/[aeiou]//gp' ip.txt sbstttn pttrn smpl
ho la linea per i + j th line
$ sed '2,+2d' ip.txt address sample
I th line e i + j , i +2 j , i +3 j , ecc.
$ sed -n '1~2p' ip.txt address substitution sample
Linee che corrispondono al modello di espressione regolare
$ cat ip.txt
address
range
substitution
pattern
sample
Add Sub Mul Div
Linee che corrispondono a un modello
$ sed '/add/d' ip.txt range substitution pattern sample Add Sub Mul Div $ sed -n '/t/p' ip.txt substitution pattern $ sed -n '/[A-Z]/ s| |/|gp' ip.txt Add/Sub/Mul/Div
Gamma di modelli
$ sed -n '/add/,/sub/p' ip.txt address range substitution $ sed -n '/a/,/e/p' ip.txt address range pattern sample
Nota
- Nel secondo esempio, corrispondeva a due intervalli: righe
1,2
e righe4,5
- Vedi Usare diversi delimitatori su come usare altri caratteri invece di
/
per specificare il modello
Corrispondenza insensibile alle maiuscole
$ sed -n '/add/Ip' ip.txt address Add Sub Mul Div $ sed -n '/add/I,/sub/p' ip.txt address range substitution Add Sub Mul Div
Specifica dell'intervallo utilizzando sia il numero che il modello
$ cat ip.txt
address
range
substitution
pattern
sample
Add Sub Mul Div
Linea numero per allineare il modello di corrispondenza
$ sed -n '2,/pat/p' ip.txt range substitution pattern
Linea corrispondente al numero di linea
$ sed '/pat/,$d' ip.txt address range substitution
Modello di corrispondenza delle linee più il numero di linee che lo seguono
$ sed -n '/add/I,+1p' ip.txt address range Add Sub Mul Div
0
può essere usato come numero della linea di partenza per segnalare la fine della gamma quando il modello corrisponde alla prima riga di input$ sed -n '0,/r/p' ip.txt address $ sed -n '1,/r/p' ip.txt address range $ sed -n '0,/u/p' ip.txt address range substitution
Negazione dell'intervallo di indirizzi
$ cat ip.txt
address
range
substitution
1234
search pattern
sample
Add Sub Mul Div
Eliminazione di righe diverse dall'indirizzo specificato
$ sed '/[0-9]/!d' ip.txt 1234 $ sed -n '/[0-9]/p' ip.txt 1234 $ sed '$!d' ip.txt Add Sub Mul Div $ sed -n '$p' ip.txt Add Sub Mul Div
Cerca e sostituisci su linee che non corrispondono a un modello
$ sed '/ /! s/^/#/' ip.txt #address #range #substitution #1234 search pattern #sample Add Sub Mul Div $ sed '/add/,/sub/! s/[aeiou]//gi' ip.txt address range substitution 1234 srch pttrn smpl dd Sb Ml Dv