Many will found that this is repeating questions but i have gone through all the questions before asked about this topic but none worked for me.
I want to print full path name of the certain file format using ls command so far i found chunk of code that will print all the files in the directory but not full path.
for i in io.popen("ls /mnt/mediashare/net/192.168.1.220_STORAGE_1d1b7"):lines() do
if string.find(i,"%.*$") then
print(i)
end
end
this will print out all the file in root diractory and subdiratory.
Output:
0020111118223425.lvf
2012
2012 (2009).mp4
3 Idiots
Aashiqui 2
Agneepath.mkv
Avatar (2009)
Captain Phillips (2013)
Cocktail
I want output like:
/mnt/mediashare/net/192.168.1.220_STORAGE_1d1b7/0020111118223425.lvf [File in Root Directory]
/mnt/mediashare/net/192.168.1.220_STORAGE_1d1b7/2012/2012.mkv
/mnt/mediashare/net/192.168.1.220_STORAGE_1d1b7/2012 (2009).mp4 [File in Root Directory]
/mnt/mediashare/net/192.168.1.220_STORAGE_1d1b7/3 Idiots/3 Idiots.mkv
/mnt/mediashare/net/192.168.1.220_STORAGE_1d1b7/Aashiqui 2/Aashiqui 2.mkv
/mnt/mediashare/net/192.168.1.220_STORAGE_1d1b7/Avatar (2009)/Avatar (2009).mkv
/mnt/mediashare/net/192.168.1.220_STORAGE_1d1b7/Captain Phillips (2013).mkv
/mnt/mediashare/net/192.168.1.220_STORAGE_1d1b7/Cocktail/Cocktail.mkv
EDIT: I have used this all but its not working with my code in LUA.
when I used with my code it displays wrong directory
for i in io.popen("ls -d $PWD/* /mnt/mediashare/net/192.168.1.220_STORAGE_1d1b7"):lines() do
if string.find(i,"%.*$") then
print("/mnt/mediashare/net/192.168.1.220_STORAGE_1d1b7/"..i)
end
end
is not finding files in "/mnt/mediashare/net/192.168.1.220_STORAGE_1d1b7" insted its prints the machines root directory files.
You can try this:
you just want the full path why not use the utility meant for that a combination of readlink and grep should get you what you want
This prints all files, recursively, from the current directory.
The
ls
command will only print the name of the file in the directory. Why not do something likeprint("/mnt/mediashare/net/192.168.1.220_STORAGE_1d1b7/" + i)
This will print out the directory with the filename.
You can use
It will also catch hidden files.
There is more than one way to do that, the easiest I think would be:
also this should work: