从文件中提取子字符串

时间:2016-02-25 09:32:28

标签: shell sed

我有这个文件:

export CROSS_COMPILER=gcc-arm
export SDK=1
#
#   blabla bla
#
if [ `expr $SYSTEM : '.*x86.*'` -ne 0 ]
then
   export X86
fi

我想使用sed提取此文件的变量。结果我想显示:

CROSS_COMPILER
SDK
X86

有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:0)

终于找到了答案,

grep -Po 'export \K[^=]+' file

答案 1 :(得分:0)

使用sed:

$ sed -n 's/.*export \([^=]*\).*/\1/p' infile
CROSS_COMPILER
SDK
X86
  • -n会阻止打印。
  • 替换捕获匹配export export和等号之间的所有行(如果没有,则为行尾),然后用捕获组替换整行。
  • p标志打印该行。