grep如何匹配不含“-”的行?[搞定ed]

sh/bash/dash/ksh/zsh等Shell脚本
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

grep如何匹配不含“-”的行?[搞定ed]

#1

帖子 xiooli » 2008-06-13 22:03

RT
grep [^-] 不行,grep [^\-] 也不行,到底要怎么写?
上次由 xiooli 在 2008-06-13 23:37,总共编辑 1 次。
头像
nihui
帖子: 1746
注册时间: 2006-10-21 12:03
来自: Shanghai
联系:

#2

帖子 nihui » 2008-06-13 22:06

代码: 全选

^[^-]*$
.

私人空间
附有 Magic Linux 2.1 最新开发日志~


미안하다, 사랑한다


欢迎来 #xfce-cn 中文频道~~
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#3

帖子 eexpress » 2008-06-13 22:08

-v 取反的吧。
● 鸣学
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#4

帖子 xiooli » 2008-06-13 22:10

nihui 写了:

代码: 全选

^[^-]*$
谢谢了 :D 基本功还是不札实啊。
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#5

帖子 xiooli » 2008-06-13 22:14

那么想问下grep [^-]应该是匹配什么样子的行呢?
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#6

帖子 solcomo » 2008-06-13 22:17

xiooli 写了:那么想问下grep [^-]应该是匹配什么样子的行呢?
除了文件名是一个-的...
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#7

帖子 solcomo » 2008-06-13 22:18

xiooli 写了:那么想问下grep [^-]应该是匹配什么样子的行呢?
除了文件名是一个-的...
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
millenniumdark
论坛版主
帖子: 4159
注册时间: 2005-07-02 14:41
系统: Ubuntu 14.04 (Kylin)
联系:

#8

帖子 millenniumdark » 2008-06-13 22:18

代码: 全选

weakish@localhost:~$ echo -e "la-la\nlala" | grep -v "-"
lala
头像
nihui
帖子: 1746
注册时间: 2006-10-21 12:03
来自: Shanghai
联系:

#9

帖子 nihui » 2008-06-13 22:19

xiooli 写了:那么想问下grep [^-]应该是匹配什么样子的行呢?
图片
.

私人空间
附有 Magic Linux 2.1 最新开发日志~


미안하다, 사랑한다


欢迎来 #xfce-cn 中文频道~~
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#10

帖子 solcomo » 2008-06-13 22:20

xiooli 写了:那么想问下grep [^-]应该是匹配什么样子的行呢?
除了文件名是全是-的...
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#11

帖子 BigSnake.NET » 2008-06-13 22:21

grep -v -- -
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#12

帖子 solcomo » 2008-06-13 22:22

:shock: 真卡
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#13

帖子 xiooli » 2008-06-13 22:23

nihui 写了:
xiooli 写了:那么想问下grep [^-]应该是匹配什么样子的行呢?
图片
怪哉,为何会这样?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#14

帖子 eexpress » 2008-06-13 23:34

笨家伙,3个人告诉你-v了。就是不看。
● 鸣学
头像
millenniumdark
论坛版主
帖子: 4159
注册时间: 2005-07-02 14:41
系统: Ubuntu 14.04 (Kylin)
联系:

#15

帖子 millenniumdark » 2008-06-13 23:35

xiooli 写了:
nihui 写了:
xiooli 写了:那么想问下grep [^-]应该是匹配什么样子的行呢?
图片
怪哉,为何会这样?
想想[ ]的含義。

[abc]是匹配a或b或c。

[^abc]呢?

代码: 全选

weakish@localhost:~$ echo -e "abc" | grep -e "[^abc]"
weakish@localhost:~$ echo -e "abcd" | grep -e "[^abc]"
abcd
那麽,grep -e "[^-]"和grep -v "-"的區別也就很明顯了。
回复