Chinaunix

标题: 怎么删除文档每行中指定的字段? [打印本页]

作者: dwhzy    时间: 2012-03-15 11:16
标题: 怎么删除文档每行中指定的字段?
本帖最后由 dwhzy 于 2012-03-15 11:47 编辑

找了半天也没有找到合适的命令删除,论坛搜索了也没有。。
  1. E:\weblog\spider\u_ex120115_104.log:2622:2012-01-14 16:01:50 192.168.100.104 GET /wap/CookieChecker.aspx url=%2fwap%2findex.aspx%3f1324391500 80 - 123.125.71.26 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) - 302 0 0 0
  2. E:\weblog\spider\u_ex120115_104.log:4430:2012-01-14 16:03:03 192.168.100.104 GET /wap/index.aspx 1324050001 80 - 123.125.71.17 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) - 302 0 0 0
  3. E:\weblog\spider\u_ex120115_104.log:5451:2012-01-14 16:03:52 192.168.100.104 GET /wap/list.aspx s3=115&ltsession=5008826426420957 80 - 123.125.71.13 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) - 200 0 64 0
  4. E:\weblog\spider\u_ex120115_104.log:8026:2012-01-14 16:05:44 192.168.100.104 GET /wap/index.aspx 1324500720&enable_cookie=True 80 - 123.125.71.26 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) - 200 0 0 0
复制代码
每行开始都有一个“E:\weblog\spider\u_ex120115_104.log:2622:” 其中,“u-ex120115_104.log:2622”这个字段中的数字是变化的,怎么把文档中每行中的“E:\weblog\spider\u_ex120115_104.log:2622:”这个内容去掉?
作者: waker    时间: 2012-03-15 11:36
cut -d: -f4- urfile
作者: xuke1668    时间: 2012-03-15 13:09
2搂的是牛人啊
很成功,我还想用awk呢(shell我才只看了awk)
作者: dwhzy    时间: 2012-03-15 13:34
回复 2# waker


惭愧,我还是没有删除掉,我再试试,先谢谢了。
作者: Shell_HAT    时间: 2012-03-15 13:56
你这个文档是grep命令的结果吧?
加个-h选项可以去掉文件名
删除-n选项可以去掉行号

这样就不用做后续的列删除操作了。
作者: mpstat    时间: 2012-03-15 14:05
回复 3# xuke1668


    2楼是本版的版大....
作者: cjaizss    时间: 2012-03-15 16:35

  1. sed -nr 's/([^:]*:){3}//p'
复制代码

作者: shell_heaven    时间: 2012-03-15 16:36
sed   's/^.*log:[0-9]*://'  urfile
作者: dn833    时间: 2012-03-15 17:10
  1. awk -F ":" '{$1=$2=$3="";print $0}'
复制代码
awk亦可
作者: zhaopingzi    时间: 2012-03-15 19:28
本帖最后由 zhaopingzi 于 2012-03-15 19:31 编辑

  1. sed "s/^E.*log:[0-9]\+://" file
复制代码

作者: witer666    时间: 2012-03-22 23:01
cut -d: -f4-6 error_log

作者: qpengf    时间: 2012-03-26 15:45
牛啊
作者: MeaCulpa    时间: 2012-03-26 16:07
本帖最后由 MeaCulpa 于 2012-03-26 16:08 编辑
dn833 发表于 2012-03-15 17:10
awk亦可


这样不可。仔细看输出。 这样可:
  1. awk '{match($0, "log:[0-9]+:"); print substr($0,RSTART+RLENGTH);}'
复制代码
,sub亦可。
作者: dn833    时间: 2012-03-26 17:36
MeaCulpa 发表于 2012-03-26 16:07
这样不可。仔细看输出。 这样可:,sub亦可。


你是怕目录名或者文件名包含“:”冒号是吧。。。。。。
作者: MeaCulpa    时间: 2012-03-31 15:58
dn833 发表于 2012-03-26 17:36
你是怕目录名或者文件名包含“:”冒号是吧。。。。。。


不是,输出有垃圾




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