找回密码
 注册创意安天

显示某配置文件中未被注释的内容

[复制链接]
发表于 2009-7-30 15:42 | 显示全部楼层 |阅读模式
swordlea

版主

发贴: 652
积分: 0
来自: 论坛神游夜
注册日期: 2006-05-16
  发表时间: 2007-07-23 11:31:03  

--------------------------------------------------------------------------------
当我们面对一个到处都是被#注释了的文件的时候,可以用以下命令很容易地看到哪些没有被注释,比如查看vsftpd.conf文件:


cat /etc/vsftpd.conf | sed s/'#.*'//g | sort



此贴由swordlea在 2007-07-23 11:31 编辑过。
<---- 以上言论仅代表本人立场 ---->



__________________
- Is life always this hard,or it just when you're a kid?
- Always like this.  
   

不累的王

普通会员

发贴: 339
积分: 0
来自:
注册日期: 2006-05-26
  发表时间: 2007-07-23 12:59:41  

--------------------------------------------------------------------------------

grep -v -e ‘^#’ -n /etc/vsftpd.conf

-v 返回结果的补集
-e 正则式
-n 行号

/etc/vsftpd.conf 这个例子中要过滤的文件......


<---- 以上言论仅代表本人立场 ---->



__________________


  “……机器人罗诺,现在我要对你下达最新指令了。”
  “是,主人。我都等了三万年了呢。”
  “你还记得回地球的航路吧?”



   

swordlea

版主

发贴: 652
积分: 0
来自: 论坛神游夜
注册日期: 2006-05-16
  发表时间: 2007-07-23 13:04:12  

--------------------------------------------------------------------------------
妙啊!可是grep怎么过滤空行呢?
<---- 以上言论仅代表本人立场 ---->



__________________
- Is life always this hard,or it just when you're a kid?
- Always like this.  
   

不累的王

普通会员

发贴: 339
积分: 0
来自:
注册日期: 2006-05-26
  发表时间: 2007-07-23 13:39:31  

--------------------------------------------------------------------------------

-- |||


<---- 以上言论仅代表本人立场 ---->



__________________


  “……机器人罗诺,现在我要对你下达最新指令了。”
  “是,主人。我都等了三万年了呢。”
  “你还记得回地球的航路吧?”



   

王薯熟
普通会员

发贴: 17
积分: 0
来自:
注册日期: 2008-01-18
  发表时间: 2008-04-24 19:49:18  

--------------------------------------------------------------------------------


swordlea 提到:
妙啊!可是grep怎么过滤空行呢?



“实用程序 uniq 删除完全相同的邻近行”
改动原来的脚本,将输出重定向到uniq,这样应该可以尽可能简单的过滤空行了。


grep -v -e ‘^#’ -n /etc/vsftpd.conf  |  uniq -f 1


因为 grep 为了显示行号加了 -n 参数,所以空行看起来都是不同的了。
这样就需要 uniq 忽略每行前面的行号,
于是 uniq 加 -f 1 参数,忽略作为行号的第一个域。

当然,也可以取消 grep 的 -n 参数,直接将结果送到不加参数的 uniq

grep -v -e '^#'  /etc/vsftpd.conf | uniq


没有行号的大段代码,看上去很容易让人疯。于是将结果集体重定向到 nl, 加上行号。
不过要注意这时的行号已经不是原文的行号了,而是经过过滤之后的文本的行号,
只是为了方便阅读的一种标记而已。

grep -v -e '^#'  /etc/vsftpd.conf | uniq | nl



汗,貌似改来改去反而更麻烦了,囧……

此贴由王薯熟在 2008-04-24 20:07 编辑过。
<---- 以上言论仅代表本人立场 ---->



__________________


我的名字是---各位同学请跟我读---:王~~薯~~熟~~



   

swordlea

版主

发贴: 652
积分: 0
来自: 论坛神游夜
注册日期: 2006-05-16
  发表时间: 2008-04-26 12:41:55  

--------------------------------------------------------------------------------
这么久了,还在考虑这个问题啊。
<---- 以上言论仅代表本人立场 ---->



__________________
- Is life always this hard,or it just when you're a kid?
- Always like this.  
   

不累的王

普通会员

发贴: 339
积分: 0
来自:
注册日期: 2006-05-26
  发表时间: 2008-04-26 13:18:39  

--------------------------------------------------------------------------------

呃,翻手册的时候无意间看到了uniq,联想到可以这样用而已

强迫症的症状吧,囧


<---- 以上言论仅代表本人立场 ---->



__________________


  “……机器人罗诺,现在我要对你下达最新指令了。”
  “是,主人。我都等了三万年了呢。”
  “你还记得回地球的航路吧?”
您需要登录后才可以回帖 登录 | 注册创意安天

本版积分规则

Archiver|手机版|小黑屋|创意安天 ( 京ICP备09068574,ICP证100468号。 )

GMT+8, 2024-11-18 09:22

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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