所以,我需要从某个目录以相反的顺序列出一堆文件。唯一的问题是目录中有很多文件(因为我在目录中反编译视频帧以反转整个视频),当我运行ls时,我收到一条错误/bin/ls argument list too long
。我想知道如何解决这个错误?
操作系统:Ubuntu 14.04
答案 0 :(得分:1)
如果ls
不起作用,find -type f
通常是您的朋友(也可以使用-print0
等内容来避免异常文件名出现问题。)
答案 1 :(得分:1)
我假设您使用的是
ls -1 -r *.jpg
生成反向排序的图像列表。由于Bash对文件名扩展(aka globs)本身进行排序,因此只需反转*.jpg
的扩展即可获得相同的效果。这是一种方法:
printf '%s\n' *.jpg | tac
如果你没有tac
,你可以用纯粹的Bash完成所有这些:
images=( *.jpg )
for (( i=${#images[*]}-1 ; i>=0 ; i-- )) ; do
printf '%s\n' "${images[i]}"
done