витягніть символи перед () за допомогою grep


12

Мені потрібно витягнути символи перед символом '('. Моя файлова структура:

трояндовий (добрий) дуб

ромашка () ні

ліллі (погано) штрафу

соняшник () приємний

Мені потрібен вихідний файл у вигляді:

rose

daisy

lilly

sunflower

хтось може сказати команду для цього .....

переважніше awk, grep або sed ...


awk -F "(" '{print $ 1}' файл. Я спробував цю команду та її роботу. Я хочу знати команду
грепом

Оновлена ​​відповідь.
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:

cut -f1 -d "(" file_name

1
Чим це відрізняється від відповіді, яку дав @rahmu вище?
Кріс Даун

2
@ChrisDown це погано сформовано без будь-яких пояснень?
Ківі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.