LinuxSir.cn,穿越时空的Linuxsir!

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

请问怎样查看一个文件中的非注释行

[复制链接]
发表于 2007-8-9 13:18:49 | 显示全部楼层 |阅读模式
一些配置文件中有太多的注释行,我只想看非注释行,不知道less、cat、more当中有没有这样的功能?
Google上搜了一下,貌似没找到。

先谢谢各位了!
发表于 2007-8-9 13:51:57 | 显示全部楼层
  1. cat file | sed -r -e 's/#.*$//'
复制代码

这样比较好,不会有空行:
  1. cat file | sed -r -e '/^#/d' -e 's/#.*$//'
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-18 08:27:48 | 显示全部楼层
谢谢!我在网上也找到一个: grep -v '#' filename|less
回复 支持 反对

使用道具 举报

发表于 2007-8-18 09:32:31 | 显示全部楼层
不妥。像

echo "hello world" #这是个注释

这一行也过滤掉了。
回复 支持 反对

使用道具 举报

发表于 2007-8-18 10:47:51 | 显示全部楼层
在 fishfree 的基础上修改, 只过滤以'#'开头的行:
grep -v '^#' filename
回复 支持 反对

使用道具 举报

发表于 2007-8-18 11:04:59 | 显示全部楼层
仍然存在问题,因为有些注释行会以空格或 tab 开头,所以可进一步改成如下
  1. grep -v '^[\t ]*#' filename
复制代码
回复 支持 反对

使用道具 举报

发表于 2007-8-18 12:39:20 | 显示全部楼层
我实验过,不管前面空格或者tab,只要以#开头,都可以过滤.

#hello
  #hello
        #hello


  1. grep -v '^#' hello.file
复制代码
回复 支持 反对

使用道具 举报

发表于 2007-8-18 12:41:07 | 显示全部楼层
我在其他的系统上却不可以
回复 支持 反对

使用道具 举报

发表于 2007-8-20 09:03:36 | 显示全部楼层
Post by remote fish
仍然存在问题,因为有些注释行会以空格或 tab 开头,所以可进一步改成如下
  1. grep -v '^[\t ]*#' filename
复制代码



不过,严格说来,这些空格和TAP键并不属于注释内容。
回复 支持 反对

使用道具 举报

发表于 2007-8-20 20:46:09 | 显示全部楼层
Post by hohoxu_hao115
不过,严格说来,这些空格和TAP键并不属于注释内容。

对于脚本语言这种行格式语言来说,注释行行首的空格和 tab 没有任何意义,而且在有缩进的情况下,这种注释行会占据绝大多数注释情况
回复 支持 反对

使用道具 举报

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

本版积分规则

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