Tenho um arquivo com o seguinte conteúdo de exemplo:
2 jordyt
2 dawder
2 LOL12345
2 2251084185
2 123456789
1 canada
1 buddy123
1 bagdad
1 baba01
1 124050
1 123windi
1 123456789m
1 123321
O objetivo é remover espaços e números no início para que apenas as senhas permaneçam, assim:
jordyt
dawder
LOL12345
2251084185
123456789
canada
buddy123
bagdad
baba01
124050
123windi
123456789m
123321
Usei este comando, mas não está funcionando como eu queria:
cat file.txt | sed 's/^\s+\d+\s+//g'
Não precisa ser assim sed
se houver uma abordagem melhor, o desempenho do processamento é importante porque tenho gigabytes de arquivos.
E a propósito, por que meu comando não está funcionando?
Seu comando sed não está funcionando porque o sed não entende as extensões
\s
e\d
do regex perl.Você precisa especificar as classes de caracteres no formato longo antigo.
Também não há necessidade de
cat
.Alternativamente, use
awk
:Diferenças de tempo:
Executei ambos repetidamente para descartar vantagens de cache.