wypakuj znaki before () za pomocą grep


12

Muszę wyodrębnić znaki przed znakiem „(”. Moja struktura plików to:

róża (dobra) ook

daisy () nr

Lilly (źle) dobrze

słonecznik () ładny

Potrzebuję pliku wyjściowego w postaci:

rose

daisy

lilly

sunflower

czy ktoś może powiedzieć za to polecenie .....

preferowane są awk, grep lub sed ...


awk -F "(plik„ {print $ 1} ”Próbowałem tego polecenia i jego działania. Chcę poznać polecenie w grep ...
Rincy Raphael

Zaktualizowana odpowiedź.
cuonglm

Odpowiedzi:



7

Używanie cut:

$ <file cut -d \( -f 1
rose

daisy

lilly

sunflower

Używanie sed:

$ <file sed -e 's/\(.*\)(.*$/\1/'
rose

daisy

lilly

sunflower

4
Pamiętaj, że zachowanie będzie się różnić, jeśli będzie więcej niż jeden (na linię.
Stéphane Chazelas


0

Możesz użyć polecenia cut:

cut -f1 -d "(" file_name

1
Czym różni się to od odpowiedzi podanej powyżej przez @rahmu?
Chris Down,

2
@ChrisDown jest źle sformatowany bez żadnego wyjaśnienia?
Kiwy,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.