0 votos

¿Cómo hacer una búsqueda de texto GREP sin Root?

Hay busybox y hay emuladores de terminal que incluyen grep pero requieren Root para funcionar. Sería mejor si también se pudieran ejecutar sin Root pero con acceso limitado. Sólo necesito grep (acceso de lectura) los archivos en el almacenamiento de datos del usuario.

¿Hay alguna manera de hacer grep búsqueda de texto en Android sin Root?

Ya existen muchos editores de texto, pero sólo admiten la búsqueda de texto ordinario saltando a la posición del texto, lo que no es tan conveniente como grep donde se obtienen los resultados deseados en una lista en un solo lugar.

1 votos

¿Qué versión de Android utilizas?

1 votos

¿Lo has probado a través de adb?

0 votos

@Adem Ya conozco ADB, pero ¿funciona ADB sin necesidad de un ordenador externo?

5voto

pr0nin Puntos 353

Estás mezclando dos cosas:

  1. Instalar un binario como busybox en todo el sistema desde una aplicación (que incluye grep)
  2. Ejecución de un binario

Los instaladores basados en la aplicación por defecto para busybox requieren acceso Root para instalar busybox en todo el sistema. Esto es cierto, sin embargo, esto es sólo porque es una aplicación. Una vez que el binario se instala no se necesita acceso Root.

Además incluso sin Root también puedes instalar un binario busybox (o lo que sea) en tu dispositivo:

  1. Necesitas activar Android Debug Bridge (adb)
  2. Copie el binario en su teléfono (si no está ya allí): adb push busybox /sdcard/
  3. Copiar el binario de la sección sdcard (donde no se puede ejecutar) a otro directorio como /data/local o /data/local/tmp : adb shell "cat /sdcard/busybox > /data/local/busybox ".
  4. A continuación, hazlo ejecutable utilizando adb shell chmod 0555 /data/local/busybox

Ahora puedes ejecutarlo usando su ruta completa desde una aplicación de terminal o dentro de adb shell :

/data/local/busybox grep ... .

0 votos

Quiero añadir que chmod no está disponible en las versiones de Android anteriores a Lollipop.

0 votos

Incluso hay al menos un instalador de Busybox que no requiere Root ( Instalador de Busybox (no Root) ). Aparte de eso: Cualquier razón que utilice cat para copiar un archivo - en lugar de cp ?

0 votos

@Izzy Además, el adb shell cat catará algo al ordenador, no al teléfono.

2voto

Firelord Puntos 161

Si estás usando Android Lollipop o superior, instala Termux Instale grep (si no está ya instalado) escribiendo apt install grep En el caso de que no se pueda acceder a la memoria interna, hay que darle permiso a Termux desde la aplicación de Ajustes. Y eso es todo. Disfruta de tu grep. También puedes instalar busybox de la misma manera en Termux (parece que viene instalado con Termux por usuario iBug) y utilizar sus utilidades. La instalación y el uso no requieren privilegios elevados.

Si estás usando una versión de Android anterior a Lollipop, Robert's responder sugiere un buen camino pero algunos pasos pueden ser eliminados. Basta con obtener el binario de Android compatible con su procesador desde aquí renombrarlo como busybox y empujarlo en Android usando adb como:

adb push busybox /data/local/tmp/   # don't push it into /sdcard/ as it is both unnecessary and removes executable bit from the binary which you cannot add without having busybox's or toybox'x chmod utility. 

Ahora puedes usar busybox. Deberías configurar un alias o cambiar la variable ENVIRONMENT de tu shell para asignar ese archivo.

Alternativamente, aunque no las he probado, algunas aplicaciones basadas en grep están disponibles en Play Store y se pueden encontrar aquí .

1 votos

BusyBox viene instalado en Termux por defecto (en el primer lanzamiento), e incluye un grep.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X