如何循环此行以将所有jpg打印到文本文件?
stat --printf="%s" *.jpg >> results.txt
你怎么能根据文件大小打印results.txt?代码怎么样?文件的确切大小为40318
答案 0 :(得分:2)
您已经在打印所有* .jpg文件的结果。唯一的问题是,通过使用--printf="%s"
,您正在更改stat
的输出格式,以仅打印大小(每个项目之间没有换行符或空格)。
尝试改为:
stat --printf="%s\n" *.jpg >> results.txt
# OR
stat -c "%s" *.jpg >> results.txt
要打印尺寸旁边的文件名,请尝试:
stat --printf="%n %s\n" *.jpg >> results.txt
# OR
stat -c "%n %s" *.jpg >> results.txt
答案 1 :(得分:0)
据我了解,您希望将所有.jpg文件的大小和文件名打印到文本文件中。您可以使用 find , ls 的组合执行此操作,然后使用 awk 格式化输出:
find . -name "*.jpg" | xargs ls -ahl $1 | awk '{print $5" "$9}' > results.txt
请注意,脚本将从您使用 find
指定的目录中递归搜索