Shell 从文件中提取子字符串
我有这个档案:Shell 从文件中提取子字符串,shell,sed,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 有人能帮我吗?终于找到了答案 grep -Po 'export \K[^=]+' file 对于sed: $ sed -n 's/.
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
有人能帮我吗?终于找到了答案
grep -Po 'export \K[^=]+' file
对于sed:
$ sed -n 's/.*export \([^=]*\).*/\1/p' infile
CROSS_COMPILER
SDK
X86
防止打印-n
- 替换在匹配
的行上捕获export
和等号之间的所有内容(如果没有等号,则捕获行尾),然后用捕获组替换整行export
标志打印该行p