I can successfully retrieve the directory name by this command
ls -d */
But I cant display only files from my device.
I can successfully retrieve the directory name by this command
ls -d */
But I cant display only files from my device.
You can use the command ls -l | grep ^-
Here is full list options for ls
command.
Option Description
-a Displays all files.
-b Displays nonprinting characters in octal.
-c Displays files by file timestamp.
-C Displays files in a columnar format (default)
-d Displays only directories.
-f Interprets each name as a directory, not a file.
-F Flags filenames.
-g Displays the long format listing, but exclude the owner name.
-i Displays the inode for each file.
-l Displays the long format listing.
-L Displays the file or directory referenced by a symbolic link.
-m Displays the names as a comma-separated list.
-n Displays the long format listing, with GID and UID numbers.
-o Displays the long format listing, but excludes group name.
-p Displays directories with /
-q Displays all nonprinting characters as ?
-r Displays files in reverse order.
-R Displays subdirectories as well.
-t Displays newest files first. (based on timestamp)
-u Displays files by the file access time.
-x Displays files as rows across the screen.
-1 Displays each entry on a line.
If you've sed
binary in your Android device, then do:
ls -l | sed '/^d/ d'
It will delete all lines starting with d
from the output of ls -l
(Source). Why? Because all directories in the output starts with d
so remove them and you'll get only the file names.
If you don't have the sed
in Android, then you can adb pull
the file into PC (saved output of ls -l
), and process it with (would work only for Linux PC):
cat <YOUR_FILE> | sed '/^d/ d'