场景:
* soft nofile 630000
* hard nofile 654300
grep 匹配如上文本,由于最后一列数字是可变的,并且每列之间可能存在任意个空格或制表符
grep -E '^\*[[:space:]]+soft[[:space:]]+nofile|^\*[[:space:]]+hard[[:space:]]+nofile' /etc/security/limits.conf
将匹配的结果sed 替换最后一列数字
sed -n 's/\*[[:space:]]\+soft[[:space:]]\+nofile.*/\* soft nofile 654350/p;s/\*[[:space:]]\+hard[[:space:]]\+nofile.*/\* hard nofile 654350/p' /etc/security/limits.conf
区别,在匹配任意个数空格或制表符时,grep 的'+' 不需要转义,sed 需要转义