#Chars allowed in password (I don't like l,o,O, etc):
P="0123456789ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz"
#Or such:
#P="a-zA-Z0-9"
head -c 8 < /dev/urandom | tr '\000-\377' "$P$P$P$P$P"
echo
Этот метод ИМХО более разумен при использовании данных из /dev/urandom. Строка, вставляемая как $P$P$P..., должна иметь длину не менее 256 символов.
Если имя вашего файла называется Myfile.txt, вы можете запустить:
grep -Ev '[Tt][Tt]|[Hh][Hh]' Myfile.txt | awk '{ gsub("([^[:alnum:]]|^)[[:alnum:]]{4}([[:space:]]|[[:punct:]])"," D ");print $0}' > MyEditedFile.txt