许多人会发现这是重复的问题,但是在询问有关此主题的内容之前,我已经经历了所有问题,但没有一个对我有用。
到目前为止,我想使用ls命令打印某些文件格式的完整路径名,到目前为止,我发现了将打印目录中所有文件但不是完整路径的代码块。
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
这将打印出所有根目录和子目录下的文件。
输出:
0020111118223425.lvf 2012 2012 (2009).mp4 3 Idiots Aashiqui 2 Agneepath.mkv Avatar (2009) Captain Phillips (2013) Cocktail
我想要像这样的输出:
/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
编辑: 我已经使用了这一切,但它不适用于我在LUA中的代码。
当我与代码一起使用时,它显示错误的目录
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
在“ /mnt/mediashare/net/192.168.1.220_STORAGE_1d1b7”中未找到文件,表明其打印了机器的根目录文件。
您可以使用
ls -lrt -d -1 "$PWD"/{*,.*}
它还将捕获隐藏文件。