0
考虑文件test.txt
:使用GNU sed的版本4.2.1(在Ubuntu 10.04.4 LTS)BSD sed和双引号
#include "foo.h"
#include "bar.h"
#include "baz.h"
,我可以提取了foo.h,bar.h和baz.h用:使用BSD
SHELL$) sed -n -e 's:^\s*\#include\s*"\(.*\)".*:\1:p' test.txt
foo.h
bar.h
baz.h
sed的(Mac OS X上的狮子),并修改上述命令,我可以提取foo.h中,bar.h和baz.h,但用双引号:
SHELL) sed -n -e 's:^\s*\#include\s*\(.*\).*:\1:p' test.txt
"foo.h"
"bar.h"
"bar.h"
如何提取不与BSD引号名字的sed?论文命令的输出为空:
SHELL) sed -n -e 's:^\s*\#include\s*"\(.*\)".*:\1:p' test.txt
SHELL) sed -n -e 's:^\s*\#include\s*\"\(.*\)\".*:\1:p' test.txt
对于便携式解决方法,只是将你的sed命令之前从输入删除双引号('TR““”''')。 – mouviciel