使用 grep 提取 () 之前的字符

使用 grep 提取 () 之前的字符

我需要提取字符“(”之前的字符。我的文件结构是:

玫瑰(好)ok

雏菊() 否

莉莉(坏)很好

向日葵()不错

我需要以下形式的输出文件:

rose

daisy

lilly

sunflower

谁能告诉这个命令......

awk、grep 或 sed 是更好的选择...

答案1

另一种sed解决方案:

sed 's/(.*//' file

答案2

使用cut

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

daisy

lilly

sunflower

使用sed

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

daisy

lilly

sunflower

答案3

解决方案awk

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

daisy

lilly

sunflower

或 GNU grep

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

答案4

您可以使用剪切命令:

cut -f1 -d "(" file_name

相关内容