我有这个内容的文件:
path=/nfs/location/alex
path = /nfs/location/
alex/nfs/location
/nfs/location/
# /nfs/location/
#alex /nfs/location
alex # d /nfs/location
/nfs/location
我想打印所有没有评论#的行,并包含以/ nfs / location
开头的路径path=/nfs/location/alex
path = /nfs/location/
/nfs/location/
/nfs/location
我写了unix commad:
grep -rE ([^#.*]|^[^0-9aA-zZ]/nfs/location/ .
但带#的行也会出现
答案 0 :(得分:0)
GNU grep 方法:
grep -P '^([^#]+[[:space:]]*=[[:space:]]*)?/nfs/location' file
输出:
path=/nfs/location/alex
path = /nfs/location/
/nfs/location/
/nfs/location
答案 1 :(得分:0)
只需使用awk:
awk -F'[= ]+' 'index($NF,"/nfs/location")==1 && !/#/' file
答案 2 :(得分:0)
awk '/^path|^\/nfs/' file
path=/nfs/location/alex
path = /nfs/location/
/nfs/location/
/nfs/location