我需要提取字符“(”之前的字符。我的文件结构是:
玫瑰(好)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