SED -n -e '/o/,/a/p' data.txt

A

art

Jungspund
data.txt :
1 kirk
2 worf
3 spock
4 data
5 odo
6 kira
7 enterprise
8 chekov
9 riker
10 sulu
------ EOF----------

SED -n -e '/o/, /a/p' data.txt

Eigentlich sollte es von der 1.Zeile mit 'o' bis 1.Zeile mit 'a' ausgeben.
Also :
2 worf
3 spock
4 data

Aber die Ausgabe ist :
2 worf
3 spock
4 data
5 odo
6 kira
8 chekov
9 riker
10 sulu

Wieso? ?(
 
data.txt :
1 kirk
2 worf
3 spock
4 data
5 odo
6 kira
7 enterprise
8 chekov
9 riker
10 sulu
------ EOF----------

SED -n -e '/o/, /a/p' data.txt

Eigentlich sollte es von der 1.Zeile mit 'o' bis 1.Zeile mit 'a' ausgeben.
Also :
2 worf
3 spock
4 data

Aber die Ausgabe ist :
2 worf
3 spock
4 data
5 odo
6 kira
8 chekov
9 riker
10 sulu

Wieso? ?(

Weil nach dem a von 4 data ein o kommt und kein weiteres a!
sed sucht nach allen Bereichen die matchen. Ist keine Endbedingung vorhanden, dann halt alles bis zum Ende.

Wenn du das anders willst:
Code:
$ sed -ne '/o/,/a/p;/a/q' test
2 worf
3 spock
4 data


Gruß Wolfgang
 

Ähnliche Themen

OpenMandriva Lx 4.2 („Argon“): Linux-Distribution mit Kernel 5.10.14 und KDE Plasma 5.20.5

E/A-Fehler (.snapshots is not a btrfs subvolume).

Spalten einer Datei in neue Datei integrieren.

Verschlüsseltes Backup-Script mit rsync

ip6tables Problem

Zurück
Oben