So versuche ich, nur SSN, die die Linie zu starten. Hier sehen die Beispieldaten aus.Wie schreibe ich eine einzelne Zeile sed Befehl zum Ausdrucken SSN, die am Anfang der Zeile beginnen und werden von einem Leerzeichen gefolgt
111-11-1111 dfsfdsfsdfafdfsfdsdsfsfdfsda
dsffdsdsfdfsf 222-22-2222 dfsfsdafasasdadas
333-33-3333 dsfadfasdasdfa
444-44-4444 fdfdfsfdsfs
555-55-5555
dfsfdfdffffdsdfsfdsfsd 66-66-6666
Also nur die 1,4 und 5 SSN sollte gedruckt werden und nichts anderes. Dies wäre in awk oder sogar in einem sed-Skript einfach, aber ich muss es in einem einzeiligen sed-Befehl tun (Eine Testfrage überprüfen, die ich für eine Klasse verpasst habe).
Ich habe es versucht.
sed 's/.*\(^[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]\).*/\1/'
die mich
111-11-1111
dsffdsdsfdfsf 222-22-2222 dfsfsdafasasdadas
333-33-3333 dsfadfasdasdfa
444-44-4444
555-55-5555
dfsfdfdffffdsdfsfdsfsd
jedoch gibt kann ich nicht den Rest der Leitungen (2,3,6) gelöscht.
Ich denke, Sie sollten '3',' 2', '4' – Kent
@Kent tatsächlich schreiben, danke. Auch das Ende der Saite ist eine Alternative zum Raum – Aaron