grep -v "^\s*#" 和 sed 's/\s*=\s*.*//g' 这2个语句分别是什么作用?麻烦详细说明一下,谢谢

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/15 01:00:07

grep -v "^\s*#" 和 sed 's/\s*=\s*.*//g' 这2个语句分别是什么作用?麻烦详细说明一下,谢谢
grep -v "^\s*#" 和 sed 's/\s*=\s*.*//g' 这2个语句分别是什么作用?麻烦详细说明一下,谢谢

grep -v "^\s*#" 和 sed 's/\s*=\s*.*//g' 这2个语句分别是什么作用?麻烦详细说明一下,谢谢
-v 表示反向选择
"^\s*#" 表示匹配以S开头的字符串,s.# 这种形式.由于sed里有个替换命令s,所以如果要表示s字符本身,需要在前面加转义符\来消除其特殊含义.
综上,grep -v "^\s*#" 就表示过滤出 非s.# 形式的字符串.
sed 's/\s*=\s*.*//g'
这个就是替换命令s,格式为 s/.../.../g,最后的g表示全部替换,否则只替换第一次匹配的.
只替换符合 \s*=\s*.* 这种正则匹配的字符串,\s*=\s*.* 表示 sxxx=sxxx.xxx 这种形式(x表示任意字符).
理解上面说的,再结合你要处理的文件格式,就可以很清楚地知道是什么意思了.