Linux:在csv中递归地'''所有jpg文件

时间:2016-12-12 21:15:23

标签: linux csv find ls

我正试图找到一种方法来列出所有子目录和csv格式的所有jpg图像,而不显示目录名称。

ls -R -1 -m . | grep '.jpg'

ls命令确实输出到csv,但是grep命令会破坏csv格式,使每个文件显示在新行而不是逗号分隔。

我知道我可以使用'find'来列出图像,但它似乎以不同的顺序输出文件而不是'ls'而且我没有看到'find'的csv参数的输出

我需要每个子目录中的图像在1个逗号分隔线上。

1 个答案:

答案 0 :(得分:1)

我相信这可以做你想要的。每个输出的行是一个以逗号分隔的单个目录中的jpgs列表。

ls -d */ | xargs -i{} sh -c 'cd {};ls -m *jpg'

如果你想知道哪一行是哪个目录,你可以通过两个步骤来运行它

ls -d */ > dirs.txt 
cat dirs.txt | xargs -i{} sh -c 'cd {};ls -m *txt'

然后dirs.txt中的第一行将对应于每行输出。