Acontece que o arquivo tinha caracteres de controle - especificamente: ^ M
cat
não exibiu o ^ M - mas less
fez ..
A saída less
é semelhante a:
Get:3 http://us.archive.ubuntu.com/ubuntu/ vivid-updates/main policykit-1 amd64 0.105-8ubuntu3 [51.6 kB]
Fetched 102 kB in 0s (144 kB/s)
Selecting previously unselected package libpolkit-agent-1-0:amd64.
(Reading database ... ^M(Reading database ... 5%^M(Reading database ... 10%^M(Reading database ... 15%^M(Reading database ... 20%^M(Reading database ... 25%^M(Reading database ... 30%^M(Reading database ... 35%^M(Reading database ... 40%^M(Reading database ... 45%^M(Reading database ... 50%^M(Reading database ... 55%^M(Reading database ... 60%^M(Reading database ... 65%^M(Reading database ... 70%^M(Reading database ... 75%^M(Reading database ... 80%^M(Reading database ... 85%^M(Reading database ... 90%^M(Reading database ... 95%^M(Reading database ... 100%^M(Reading database ... 52099 files and directories currently installed.)
Preparing to unpack .../libpolkit-agent-1-0_0.105-8ubuntu3_amd64.deb ...
Unpacking libpolkit-agent-1-0:amd64 (0.105-8ubuntu3) ...
Observe que a linha "(banco de dados de leitura" é uma cadeia longa (com ^ M).
Remover a linha com sed
remove toda a linha, agora é óbvio o motivo.
sed
string replace reconhece partes da string, então pode ser usado para quebrar a linha.
Isso é o que acabou funcionando (^ M está na string):
sed -i 's/(Reading database \.\.\. [0-9]%\r//g' ~/Desktop/Log
sed -i 's/(Reading database \.\.\. [0-9][0-9]%\r//g' ~/Desktop/Log
sed -i 's/(Reading database \.\.\. [0-9][0-9][0-9]%\r//g' ~/Desktop/Log
sed -i 's/(Reading database \.\.\. \r//g' ~/Desktop/Log
sed -i '/^\s*$/d' ~/Desktop/Log
Que substitui a parte especificada da linha por "nothing", a última linha remove as linhas com "nothing" ... então o resultado é:
Get:3 http://us.archive.ubuntu.com/ubuntu/ vivid-updates/main policykit-1 amd64 0.105-8ubuntu3 [51.6 kB]
Fetched 102 kB in 0s (144 kB/s)
Selecting previously unselected package libpolkit-agent-1-0:amd64.
(Reading database ... 52099 files and directories currently installed.)
Preparing to unpack .../libpolkit-agent-1-0_0.105-8ubuntu3_amd64.deb ...
Unpacking libpolkit-agent-1-0:amd64 (0.105-8ubuntu3) ...
Tenho certeza de que há uma maneira mais fácil, mas nenhuma das minhas experiências funcionou, incluindo o agrupamento ( {[0-9],[0-9][0-9],[0-9][0-9][0-9]}
), etc ...
Depois de horas de mexer com isso, estou disposto a aceitar minha resposta prolixa ...:)
Atualizar
O usuário don_crissti tem uma solução mais eficiente que alcança o mesmo resultado:
sed 's/.*(Reading/(Reading/'
(... esperando para aceitar se ele postar)