извлечь символы перед (), используя grep


12

Мне нужно извлечь символы перед символом '('. Моя файловая структура:

Роза (хорошо) ООК

ромашка () нет

Лилли (плохо) отлично

подсолнечника () хороший

Мне нужен выходной файл в виде:

rose

daisy

lilly

sunflower

Кто-нибудь может сказать команду для этого .....

awk, grep или sed предпочтительнее ...


awk -F "(" '{print $ 1}' файл, который я пробовал эту команду и она работает. Я хочу знать команду в grep ...
Rincy Raphael

Обновленный ответ.
Cuonglm

Ответы:



7

Использование cut:

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

daisy

lilly

sunflower

Использование sed:

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

daisy

lilly

sunflower

4
Обратите внимание, что поведение будет отличаться, если (в строке более одного .
Стефан Шазелас


0

Вы можете использовать команду вырезать:

cut -f1 -d "(" file_name

1
Чем это отличается от ответа, данного @rahmu выше?
Крис Даун

2
@ChrisDown это плохо отформатировано без объяснения причин?
Kiwy
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.