sed 's/\(^[a-z-_]\+\):.*$/\1/' passwd
提示我这个sed: -e expression #1, char 24: Invalid range end
猜测是范围的问题,例如'[0-9]'表示范围字符,'[-_]'这种就没有意义
sed 's/\(\w\+\):.*$/\1/' passwd
我直接使用\w可以解决了。