Unix/Linux содержит команду "найти" для поиска файлов, но я не знаю, какую команду в android можно использовать для поиска файла. Пожалуйста, дайте мне пример.
Как искать файл с помощью adb.exe?
Ответ 1
Вы не можете найти find
и grep
на всех устройствах, поэтому, вероятно, ваша безопасная ставка будет
$ adb shell ls -lR | grep filename_you_want
в Linux/OSX или
> adb shell ls -lR | find "filename_you_want"
в Windows.
Ответ 2
Поскольку find
и grep
не установлены на устройствах, которые я использую, я использую следующее:
adb shell ls -R / >tree.txt
После этого я могу искать в файле tree.txt на своем компьютере, используя любое программное обеспечение, которое мне нравится (например, блокнот ++ или grep).
Ответ 3
find
не работает для меня на моем устройстве. Кажется, что не установлено!
Однако для меня это работает:
adb shell
(тогда в оболочке)
ls -laR | grep filename_you_want
Надеюсь, что это поможет.
Ответ 4
Некоторые устройства Android не включают include find
или grep
в $PATH
. Однако они могут включать busybox
. (По моему опыту, большинство из них могут использовать busybox
). Поэтому вы можете использовать их следующим образом:
adb shell
а затем
busybox find. "File.txt"
или что-то в этом роде
Надеюсь, это поможет.
Ответ 5
Здесь крошечный script, который должен работать в zsh и bash. Он имитирует то, что вы можете увидеть, если вы можете запустить find /
на Android-устройстве:
adb shell ls -R / |
while read line
do
line=$(echo $line | tr -d '\r')
if [[ "$line" =~ ^/.*:$ ]]
then
dir=${line%:}
elif [[ "$line" = "opendir failed, Permission denied" ]]
then
echo "find: $dir: Permission denied"
else
if [[ "$dir" = "/" ]]; then dir=""; fi
echo "$dir/$line"
fi
done
Поскольку в нем перечислены все дочерние каталоги до того, как они попадают в них, вывод немного не по порядку (например, /system
указан сразу, но /system/media
не отображается до гораздо позже). В зависимости от ваших потребностей вы можете пощекотать | sort -u
в конце script, но это должно быть хорошо для всех ваших основных потребностей grep
.