Chinaunix

标题: 关于grep查找的一个问题 [打印本页]

作者: tigersky2000    时间: 2004-03-16 18:56
标题: 关于grep查找的一个问题
比方说我有一个文件他里面有一个八进制的055这个特殊字符,我怎样把在grep中查找

我的印象是 grep '\055' file 这样就可以了,但是不行 谢谢
作者: labrun    时间: 2004-03-16 20:17
标题: 关于grep查找的一个问题
1:不用转义。
2:试试od file | grep "055"
作者: tigersky2000    时间: 2004-03-19 18:54
标题: 关于grep查找的一个问题
版主都在,顶一下,大家邦我看看

按楼上的说法,那我找055这个字符串怎么找呀??? :-<
作者: bjgirl    时间: 2004-03-19 19:11
标题: 关于grep查找的一个问题
贴个数据上来
ps:055是什么字符?
作者: forest077    时间: 2004-03-19 20:28
标题: 关于grep查找的一个问题
八进制的055是“-”号呀,直接找“-”不就行了吗?
或者
grep "$(echo "\0055"" file
作者: tigersky2000    时间: 2004-03-20 15:05
标题: 关于grep查找的一个问题
I Mean that I can grep any ascii code (include control char)
055 is just a Example!
作者: tigersky2000    时间: 2004-03-20 15:08
标题: 关于grep查找的一个问题
for example
I want to grep ^M,  the BJGIRL give me a answer in another thread.

"grep "^M" file #^M是先按CTRL+V+M获得"


but, I am user  term to telnet it.  press CTRL+V+M  is unaviable.
作者: bjgirl    时间: 2004-03-20 15:20
标题: 关于grep查找的一个问题
[quote]
$cat -A tmp #查看文件中的特殊字符
hello  $
look $
sed $
All $
awk $
gooogle$
gooooooooooooooooooooooooo^Ioooogle$
$cat tmp|grep "  "|grep "^J"
gooooooooooooooooooooooooo      oooogle
#第一个tab键按ctrl+v+i获取
ps:你也没有数据样本!这是一个例子,无实际意义!
作者: tigersky2000    时间: 2004-03-20 15:56
标题: 关于grep查找的一个问题
  1. $cat -v tmp
  2. hello^M
  3. sed
  4. look^M
  5. All
  6. awk^M
  7. who ^M
复制代码

I want to grep the line include ^M, but I can't input ^M by user CTRL+V+M
作者: bjgirl    时间: 2004-03-20 16:06
标题: 关于grep查找的一个问题
$cat -v tmp
hello
look
sed
M^M

All
awk
gooogle
gooooooooooooooooooooooooo      oooogle
$cat tmp|grep '^M'

M
作者: tigersky2000    时间: 2004-03-20 16:28
标题: 关于grep查找的一个问题
+how do you input ^M

CTRL + V + M   or  char ^  + char M

cat tmp|grep '^M' (^M is char ^  + char M )

cat -v tmp|grep '^M'  (^M is char ^  + char M )

result : no line is greped

but
cat tmp|grep '^M' (^M is CTRL +V+M)
I can get the right answer


grep (GNU grep) 2.5.1

Copyright 1988, 1992-1999, 2000, 2001 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

作者: forest077    时间: 2004-03-20 16:33
标题: 关于grep查找的一个问题
grep "$(echo "\0055"" file

这是我前面的代码,把\0055后面的三个数字改成其他的8进制数就可以查找那个相应的符号了。比如^M,除了ctrl+v+M以外,可以用grep "$(echo "\0015"" file来查找。用这个方法的好处是,你可以把echo后面的那个8进制数放在变量里面,进行其他的运算。如果只是要查找某个特定的字符,直接敲那个字符或者敲ctrl+v+?(?代表相应的控制字符)就可以了。看你的需要了。
作者: forest077    时间: 2004-03-20 16:36
标题: 关于grep查找的一个问题
输入控制字符的方法是(比如说^M)ctrl+v+M,而不是char ^+char M
作者: tigersky2000    时间: 2004-03-20 16:46
标题: 关于grep查找的一个问题
forest077, it didn't work.

  1. $echo "\0015"
  2. \0015

  3. $grep -c "$(echo "\0015")" tmp
  4. 0
复制代码


[david@RH9 shl]$ grep -V
grep (GNU grep) 2.5.1

Copyright 1988, 1992-1999, 2000, 2001 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

作者: forest077    时间: 2004-03-20 18:03
标题: 关于grep查找的一个问题
我的可以,我是sco5.05+ksh




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2