我有一个场景,在UNIX中,当您列出目录中的所有文件时,输出用空格分隔。如何获取逗号分隔的输出呢?
...所以,而不是ls -l
返回(如目前一样)
drwxr--rw- 1 shravan.usersgroup 290 DEC 21 10:00 sample.txt
drwxr--rw- 1 shravan.usersgroup 150 DEC 21 10:00 demo.txt
...如何获得以下信息?
drwxr--rw- ,1, shravan.usersgroup ,290, DEC 21 ,10:00 ,sample.txt
drwxr--rw- ,1, shravan.usersgroup ,150 ,DEC 21 ,10:00 ,demo.txt
答案 0 :(得分:2)
在具有GNU find
的系统上,以下代码生成的字段之间只有逗号(没有空格)的输出:
find . -maxdepth 1 -printf '%M,%n,%u.%g,%s,%Ax,%AX,%p\n'
还可以使用GNU stat
生成文件及其元数据的逗号分隔描述:
stat -c '%A,%h,%U.%G,%s,%y,%n' *
请参见Why you shouldn't parse the output of ls
和How can I get a file's permissions (and other metadata) without parsing ls -l
output?
答案 1 :(得分:1)
编辑:阅读以下评论后。
尝试下面的事情,
ls --format=commas
它应该为您工作!
这将以逗号分隔打印文件名。
如果要获得文件许可权和其他参数,则需要稍微修改逻辑。
我希望这会有所帮助!