相关疑难解决方法(0)

Linux命令以树的形式打印目录结构

是否有任何linux命令可以从Bash脚本调用,该脚本将以树的形式打印目录结构,例如,

folder1
   a.txt
   b.txt
folder2
   folder3
Run Code Online (Sandbox Code Playgroud)

linux command-line

474
推荐指数
9
解决办法
40万
查看次数

如何遍历find返回的文件名?

x=$(find . -name "*.txt")
echo $x
Run Code Online (Sandbox Code Playgroud)

如果我在Bash shell中运行上面的代码,我得到的是一个包含多个文件名的字符串,用空格分隔,而不是列表.

当然,我可以进一步将它们分开来获取列表,但我确信有更好的方法可以做到这一点.

那么循环find执行命令结果的最佳方法是什么?

bash find

189
推荐指数
8
解决办法
19万
查看次数

如何从bash中的目录中选择随机文件?

我有一个约2000个文件的目录.如何N通过使用bash脚本或管道命令列表来选择随机的文件样本?

random bash

122
推荐指数
8
解决办法
9万
查看次数

使用ls命令在Linux中使用完整路径列出文件

许多人会发现这是重复的问题但我在询问这个主题之前已经完成了所有问题,但没有一个对我有用.

我想使用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
Run Code Online (Sandbox Code Playgroud)

这将打印出根难治和辅助训练中的所有文件.

输出:

  0020111118223425.lvf
  2012
  2012 (2009).mp4
  3 Idiots
  Aashiqui 2
  Agneepath.mkv
  Avatar (2009)
  Captain Phillips (2013)
  Cocktail
Run Code Online (Sandbox Code Playgroud)

我想输出像:

  /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
Run Code Online (Sandbox Code Playgroud)

编辑: 我已经使用了这一切,但它不能在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
Run Code Online (Sandbox Code Playgroud)

没有找到"/mnt/mediashare/net/192.168.1.220_STORAGE_1d1b7"中的文件,它打印机器根目录文件.

linux bash shell lua command-line

37
推荐指数
5
解决办法
11万
查看次数

标签 统计

bash ×3

command-line ×2

linux ×2

find ×1

lua ×1

random ×1

shell ×1