我想打印文件的内容,但我想忽略所有以 # 开头的行。我正在用 grep 和 awk 尝试一些东西,但它一直在打印整个文件,或者只是打印以 # 开头的行。我你可以用正确的方式给我一个推送,或者一个 grep/awk 命令,它会打印文件中不以 # 开头的任何行。
			
			23264 次
		
5 回答
            25        
        
		
使用-v选项grep来否定条件:
grep -v '^#' file
    于 2013-03-09T22:22:05.093   回答
    
    
            6        
        
		
您可以使用!运算符:
awk '!/^ *#/ { print; }'
这否定了匹配的结果。我还包括了以空格和 # 开头的行,但您可以根据自己的喜好定制正则表达式。
于 2013-03-09T22:21:57.563   回答
    
    
            4        
        
		
#您可以使用 grep 排除所有以使用该-v选项开头的行
grep -v '^#' filename
如果你喜欢sed:
sed '/^#/d' filename
    于 2013-03-09T22:24:00.690   回答
    
    
            3        
        
		
这也会在 : 之前省略带有空格的行#:
awk '$1!~/^#/' file
或者
grep -v '^[[:blank:]]*#' file
    于 2013-03-09T22:48:15.380   回答
    
    
            1        
        
		
这是 grep PCRE 方式,
grep -P '^(?!#)' file
    于 2017-08-28T11:02:50.683   回答