Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在Unix中将ls-R输出解析为变量_Linux_Bash_Shell_Unix_Scripting - Fatal编程技术网

Linux 在Unix中将ls-R输出解析为变量

Linux 在Unix中将ls-R输出解析为变量,linux,bash,shell,unix,scripting,Linux,Bash,Shell,Unix,Scripting,我正在执行一个ls-R/文件/ 我得到了以下输出 ./: nvision ./nvision: layout ./nvision/layout: abcd.txt 我希望得到清单中的路径,如 /nvision /nvision/layout/ /nvision/layout/abcd.txt 我应该能够将所需的路径复制到一个变量 附言:我不是在寻找nvision 我正在尝试获取文件夹下的文件夹和文件列表 有人能帮我吗你试过使用find吗 这很容易找到。获取当前目录中的文件

我正在执行一个ls-R/文件/

我得到了以下输出

./:    nvision
./nvision:    layout
./nvision/layout:    abcd.txt 
我希望得到清单中的路径,如

/nvision
/nvision/layout/
/nvision/layout/abcd.txt
我应该能够将所需的路径复制到一个变量

附言:我不是在寻找nvision 我正在尝试获取文件夹下的文件夹和文件列表

有人能帮我吗

你试过使用find吗

这很容易找到。获取当前目录中的文件和文件夹列表。换衣服。到任何路径以获取该路径中的文件和目录列表:

nvision
nvision/abcd.txt
nvision/layout
将其保存到变量

var=`find .`
并在需要时向每行添加初始斜杠

var=`find . -exec echo /{} \;`
这里var没有特殊的含义,它只是变量名

要稍后使用该变量,可以使用$var或${var}。例如,要将其打印或保存到文件:

# Print the variable content
echo $var

# Save the content of var to a file
echo $var > /tmp/file.txt
你试过使用find吗

这很容易找到。获取当前目录中的文件和文件夹列表。换衣服。到任何路径以获取该路径中的文件和目录列表:

nvision
nvision/abcd.txt
nvision/layout
将其保存到变量

var=`find .`
并在需要时向每行添加初始斜杠

var=`find . -exec echo /{} \;`
这里var没有特殊的含义,它只是变量名

要稍后使用该变量,可以使用$var或${var}。例如,要将其打印或保存到文件:

# Print the variable content
echo $var

# Save the content of var to a file
echo $var > /tmp/file.txt

你真的应该用find来处理这类事情。只需使用查找目录。如果需要更具体的输出格式,可以使用find的-printf选项。Find是一个非常强大的工具,它还允许进行各种过滤。请确保查看文档以了解更多信息:

要将结果存储在变量中,请使用以下语句之一:

result=`find ...`

您还可以使用find直接使用find的-exec选项为每个匹配执行命令。同样,请确保查看文档。它真的很全面

更新Mac/UNIX用户–Linux用户不受影响

BSD查找需要一个路径。使用

find .
而不仅仅是

find

如果您需要工作目录中所有文件的列表。

您应该真正使用find来完成这类工作。只需使用查找目录。如果需要更具体的输出格式,可以使用find的-printf选项。Find是一个非常强大的工具,它还允许进行各种过滤。请确保查看文档以了解更多信息:

要将结果存储在变量中,请使用以下语句之一:

result=`find ...`

您还可以使用find直接使用find的-exec选项为每个匹配执行命令。同样,请确保查看文档。它真的很全面

更新Mac/UNIX用户–Linux用户不受影响

BSD查找需要一个路径。使用

find .
而不仅仅是

find

如果您需要工作目录中所有文件的列表。

答案就在这一页上,您应该使用find,它列出了您可以定义的所有文件

在哪里。以其他方式替换当前文件夹。使用您希望搜索的路径

find .-type d -print 
它只列出目录或查找

它将只列出所有文件

如果你正在寻找两者,那么

find . -print
如果您只想定义递归级别,请尝试

find . -maxdepth 1 -print
这是一个脚本

#!/bin/bash
for names in $(find . -type f -print); do
    echo $names
done

答案就在这个页面上,你应该使用find,它列出了你可以定义的所有文件

在哪里。以其他方式替换当前文件夹。使用您希望搜索的路径

find .-type d -print 
它只列出目录或查找

它将只列出所有文件

如果你正在寻找两者,那么

find . -print
如果您只想定义递归级别,请尝试

find . -maxdepth 1 -print
这是一个脚本

#!/bin/bash
for names in $(find . -type f -print); do
    echo $names
done

ls-lR我试过了,但我没有得到我想要的使用find,ls基本上不应该在脚本中使用,它的输出是为人类准备的。我试过find,但我无法在脚本中使用它,@Mat,你能帮我一下命令吗,当我在控制台中尝试Find命令时,我得到以下错误参数格式不正确。那么,当文件夹中有多个文件时,会发生什么情况?然后,您希望执行什么操作?因为在ls-R输出中有/folder:file1 file2 file3,所以它是固定的,所以我只尝试了一个folderls-lR,但我没有得到我想要的使用find,ls基本上不应该在脚本中使用,它的输出是针对人类的。我尝试了find,但我无法在脚本中使用它,@Mat,请您帮助我使用该命令,当我尝试在控制台中查找命令时,我得到以下错误参数格式不正确。那么,当文件夹中有多个文件时,会发生什么情况?您希望执行什么操作?因为在ls-R输出中,您有/folder:file1 file2 file3,所以它是固定的,所以只有一个folder如果您有GNU查找可用,您可以使用-printf而不是-exec echo。这样就不用为找到的每个文件启动一个进程了
nd.exe未正确配置,它正在拾取windows find.exe,但失败。现在find命令正在运行。如果您有GNU find可用,则可以使用-printf而不是-exec echo。这节省了为找到的每个文件启动进程的时间。我发现find.exe没有正确配置,它正在拾取windows find.exe,但失败了。现在find命令运行得非常好