LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 958|回复: 5

awk怎么表示圆括号?

[复制链接]
发表于 2006-1-5 17:01:47 | 显示全部楼层 |阅读模式
我想把文件内圆括号中的内容打印出来,但下面的作法不对。
cat test.txt | awk '/\(.*\)/{print $1}'
cat test.txt | awk '/\(\(.*\)\)/{print $1}'
也不行。到底怎么表示圆括号?
发表于 2006-1-5 17:06:26 | 显示全部楼层
awk -F'[)(]' '...'
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-5 17:14:36 | 显示全部楼层
设置分隔符会打乱我的其他应用的。
能否用正则表达式表示圆括号?谢谢了。
回复 支持 反对

使用道具 举报

发表于 2006-1-5 17:23:18 | 显示全部楼层
  1. $ cat 1
  2. b  b(a)c c
  3. $ cat a
  4. #!awk -f

  5. { for (i = 1; i <= NF; i++)
  6.         if ($i ~ "\\((.*)\\)")
  7.                 print $i;
  8. }

  9. $ ./a 1
  10. b(a)c
  11. $
复制代码

\( \) 是正则表达式的一部分,() 则不是。
回复 支持 反对

使用道具 举报

发表于 2006-1-6 00:49:14 | 显示全部楼层
Post by ideawu
设置分隔符会打乱我的其他应用的。
能否用正则表达式表示圆括号?谢谢了。

这样意思?


  1. echo '(sadfsdf)asdfsdfsdf'|grep -o '(.*)'|tr -d ')|('
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-1-10 15:59:29 | 显示全部楼层
文件内容:
xxxx(aaaaaa
a)xxxx(bbbbb
)xxxxxxx(ccc
c)xxx(ddd

怎么提取aaaaaaa  bbbbb cccc
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表