grep kullanarak () öncesi karakterleri ayıkla


12

Karakter '(' önce karakter ayıklamak gerekir. Benim dosya yapısı:

Gül (iyi) ook

papatya () bir

Lilly (kötü) ince

ayçiçeği () güzel

Gibi çıktı dosyası gerekir:

rose

daisy

lilly

sunflower

Herkes bunun için komut söyleyebilir .....

awk, grep veya sed tercih edilir ...


awk -F "(" '{print $ 1}' dosyası bu komutu ve çalışmasını denedim. Komutu
grep'te

Cevap güncellendi.
cuonglm

Yanıtlar:



7

Kullanma cut:

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

daisy

lilly

sunflower

Kullanma sed:

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

daisy

lilly

sunflower

4
(Her satırda birden fazla varsa davranışın farklı olacağını unutmayın .
Stéphane Chazelas

3

Bir awkçözüm:

$ awk -F'(' '{print $1}' file
rose

daisy

lilly

sunflower

veya GNU grep:

grep -oP '.*?(?=\()' file

5
Veyagrep -o '^[^(]*'
Stéphane Chazelas

0

Cut komutunu kullanabilirsiniz:

cut -f1 -d "(" file_name

1
Bu, @ @ ramu tarafından verilen cevaptan nasıl farklıdır?
Chris Down

2
@ChrisDown herhangi bir açıklama yapmadan kötü biçimlendirilmiş mi?
Kiwy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.