+ -
当前位置:首页 → 问答吧 → awk:BEGIN段的生成 的变量,怎么在条件部分使用啊?

awk:BEGIN段的生成 的变量,怎么在条件部分使用啊?

时间:2011-02-19

来源:互联网

本帖最后由 jils2013 于 2011-02-19 19:28 编辑

系统是aix6.1

echo "a\nb\nc\nd" | awk 'BEGIN{start="a";end="c"}/start/,/end/'

期望的输出
a
b
c

但是没有输出,begin段生成的变量,貌似在条件匹配的部分不能生效...

希望和这个一样的执行结果:echo "a\nb\nc\nd" | awk '/a/,/c/'

只不过 变量是从begin段赋的值.

搞了一个很麻烦的写法:
echo "a\nb\nc\nd" | awk 'BEGIN{start="a";end="c"}$1~start,$1~end'
或者
echo "a\nb\nc\nd" | awk 'BEGIN{start="a";end="c"}$1==start,$1==end'

郁闷了.awk '//,//' 这样的写法为什么变量不生效呢.

作者: jils2013   发布时间: 2011-02-19

echo "a\nb\nc\nd" | awk 'BEGIN{start="a";end="c"}start,end'

作者: ziyunfei   发布时间: 2011-02-19

  1. >echo "a\nb\nc\nd" | awk 'BEGIN{start="a";end="c"}start,end'
  2. a
  3. b
  4. c
  5. d
复制代码
结果不太对哦
系统是aix6.1

作者: jils2013   发布时间: 2011-02-19

我回答错了。也许正则里不能用变量

作者: ziyunfei   发布时间: 2011-02-19

龟腚
要是不龟腚好
/start/,谁知道是匹配字符串start,还是匹配变量start

作者: ywlscpl   发布时间: 2011-02-19

热门下载

更多