Redirecionando a saída de adb shell ls /data/data | grep -i com.company
para um arquivo e examinando-o com um hexeditor, descobri que eles estão anexados com o retorno de carro no estilo do Windows \r\n
(0x0D 0x0A). Então, se livrar do \r
com tr -d '\r'
resolveu o problema.
Comando completo usando for
(de resposta de Stéphane Chazelas ):
for x in $(adb shell ls /data/data | grep -i com.company | tr -d '\r'); do adb uninstall $x; done
Ou similarmente usando xargs
:
adb shell ls /data/data | grep -i com.company | tr -d '\r' | xargs -r -n1 adb uninstall
Outra opção (como explicado gentilmente por Stéphane Chazelas nos comentários abaixo) é a desativação de \r
juntamente com stty -opost
, embora isso provavelmente exija que busybox
(ou uma alternativa como toybox
) seja instalado no Dispositivo Android.
$ adb shell echo test | sed -n l
test\r$
$ adb shell 'busybox stty -opost; echo test' | sed -n l
test$