在等号前解析列表中的所有文本

时间:2012-01-16 11:15:59

标签: regex parsing sed awk

我想实现这样的目标:

在:

SOME_TEXT=some_more_text
OTHER_TEXT=some_other_text

在:

SOME_TEXT
OTHER_TEXT

我可以使用带有正则表达式的awk或sed进行打印,并使用等号作为字段分隔符。

但这样做最有效的方法是什么?

3 个答案:

答案 0 :(得分:9)

使用awk,就像这样简单:

awk -F= '{print $1}' thefile

使用sed:

sed 's,=.*,,' thefile

提供的是,您的输入是名为thefile的文件。

答案 1 :(得分:4)

这是另一种使用“cut”的解决方案。

$ cat > /tmp/d.log
SOME_TEXT=some_more_text
OTHER_TEXT=some_other_text
$ cat /tmp/d.log |cut -d"=" -f1
SOME_TEXT
OTHER_TEXT

答案 2 :(得分:3)

如果File包含您的字符串。这样做,

cut -f1 -d= File