Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
BASH文件属性体操:如何轻松获得具有完整路径和权限的文件?_Bash_Shell_Find_Ls_Cut - Fatal编程技术网

BASH文件属性体操:如何轻松获得具有完整路径和权限的文件?

BASH文件属性体操:如何轻松获得具有完整路径和权限的文件?,bash,shell,find,ls,cut,Bash,Shell,Find,Ls,Cut,亲爱的命令行高手, 我有一个目录树,我想为它生成一个文件,每行包含两个条目:每个文件的完整路径和所述文件的相应权限 例如,一行可能包含: /v1.6.0.24/lib/mylib.jar -r-xr-xr-x 生成左侧列的最佳方法似乎是find。但是,由于ls似乎既不能读取文件名列表,也不能读取stdin,因此我似乎不得不求助于一个脚本来完成这项工作。。。笨重的 我确信我已经看到人们以某种方式让find对找到的每个文件运行一个命令,但今天早上我一定很傻,因为我似乎无法理解它 有人吗 就读取所述

亲爱的命令行高手,

我有一个目录树,我想为它生成一个文件,每行包含两个条目:每个文件的完整路径和所述文件的相应权限

例如,一行可能包含:

/v1.6.0.24/lib/mylib.jar -r-xr-xr-x
生成左侧列的最佳方法似乎是find。但是,由于ls似乎既不能读取文件名列表,也不能读取stdin,因此我似乎不得不求助于一个脚本来完成这项工作。。。笨重的

我确信我已经看到人们以某种方式让find对找到的每个文件运行一个命令,但今天早上我一定很傻,因为我似乎无法理解它

有人吗

就读取所述文件而言,文件名中可能有空格,因此如果有办法让一些现有的命令行工具从右到左计数字段,那就太好了。例如,我们有cut。但是,cut首先是左手,不会用负数表示从右边开始编号(对我来说这似乎是最明显的语法)。。。不必编写程序,有什么简单的方法吗

提前感谢,特别感谢您解释您可能提供的任何示例

谢谢,
RT

GNU
findutils
4.2.5+:

find -printf "$PWD"'/%p %M\n'

GNU
findutils
4.2.5+:

find -printf "$PWD"'/%p %M\n'

也可以使用ls和awk进行此操作:

ls -l -d $PWD/* | awk '{print $9 " " $1}' > my_files.txt

也可以使用ls和awk进行此操作:

ls -l -d $PWD/* | awk '{print $9 " " $1}' > my_files.txt
将打印文件的文件权限

比如:

find . -exec echo -ne '{}\t\t' ';' -exec stat -c %A {} ';'
会给你一个格式不好的版本,你的后

它变得更加复杂,因为您希望所有内容都在表格中对齐。您可能需要查看“column”命令。TBH我会稍微放宽我的输出要求。用SH格式化输出是一件麻烦事

将打印文件的文件权限

比如:

find . -exec echo -ne '{}\t\t' ';' -exec stat -c %A {} ';'
会给你一个格式不好的版本,你的后

它变得更加复杂,因为您希望所有内容都在表格中对齐。您可能需要查看“column”命令。TBH我会稍微放宽我的输出要求。用SH格式化输出是一件麻烦事。

bash 4

shopt -s globstar
for file in /path/**
do
    stat -c "%n %A" "$file"
done
bash 4


这是解析文件最糟糕的方法names@ghostdog74没有说它是高效或优雅的。只是想证明它可以用普通的旧ls来完成。没必要投我反对票。好吧,幽灵狗,我给你投了赞成票;我想知道其他的选择!这是解析文件最糟糕的方法names@ghostdog74没有说它是高效或优雅的。只是想证明它可以用普通的旧ls来完成。没必要投我反对票。好吧,幽灵狗,我给你投了赞成票;我想知道其他的选择!