Вы забываете избегать некоторых символов, которые следует понимать буквально.Regex рассматривает скобки как класс символов вместо буквенных символов, и точка в pam_unix.so
также должна быть экранирована.Это регулярное выражение, предназначенное для строки:
password(\s+)\[success=\d\sdefault=ignore\](\s+)pam_unix\.so\sobscure(\s+)sha512
Если вы введете ее в команду, она будет выглядеть следующим образом:
sed '/password(\s+)\[success=\d\sdefault=ignore\](\s+)pam_unix\.so\sobscure(\s+)sha512/' testfile.txt
Здесь является ссылкойк регулярному выражению я использовал