猜测是范围的问题,例如'[0-9]'表示范围字符,'[-_]'这种就没有意义
sed -n 's/\(^[a-z]\+\):.*$/\1/' passwd
就是这一段
这里\1和\2的意思其实就是引用第一,二个()里的内容。