shell 怎么统计文件数和字节数?

2016-10-02 09:01:38 +08:00
 imn1
1.
目录 A ,一级子目录 A1 、 A2 ……
想统计 A1/A2 ……各自包含的文件数量(递归),和总字节数,并重命名
A1 [文件数 字节数]
A2 [文件数 字节数]
……

2.
想问怎么把命令结果传递到另一个命令的中间某个参数(或部分)
用|管道传到末尾我就知道,传到中间就不晓得了
例如
crc32 file -> 12345678
rename "s/.pdf$/.12345678.pdf/gi" file
#这个 12345678 怎么传过去,两句写成一行
2988 次点击
所在节点    问与答
14 条回复
ik
2016-10-02 09:06:21 +08:00
ll * | wc -l
ik
2016-10-02 09:07:25 +08:00
@ik 统计各目录下文件总数,可能需要稍微修饰
ik
2016-10-02 09:08:41 +08:00
额,看错了楼主要求了…
imn1
2016-10-02 09:15:45 +08:00
@ik
不管怎样,谢了
其实可能解决了问题 2 ,问题 1 我可能就能自己解决了
codehz
2016-10-02 09:30:03 +08:00
xargs 命令,题主可以去了解一下
codehz
2016-10-02 09:33:47 +08:00
至于第二个,可以用 bash 常见的` ` 语法解决` `之间是命令,他会被替换成该命令的输出结果,比如 echo `crc32 file`和 crc32 file 结果应该是这样的(不考虑换行)
codehz
2016-10-02 09:35:01 +08:00
s/这样 /一样 /
手机打字,不要在意细节。。。。。
500miles
2016-10-02 09:49:07 +08:00
crc32 fileA | xargs -I crcSign echo crcSign

试试这个
ksupertu
2016-10-02 17:02:49 +08:00
find ./ |wc -l
ksupertu
2016-10-02 17:04:09 +08:00
统计文件大小 du -sh 加目录
imn1
2016-10-02 17:16:44 +08:00
@ksupertu
du 测试过是磁盘占用,不是文件合计字节数

find ./ -type f |wc -l
这个知道,想看看有没有一句能把字节数和文件数都统计的,不想跑两遍目录递归
ksupertu
2016-10-02 17:37:27 +08:00
@imn1 -s 参数不是合计?你要字节那就把-h 参数去掉,要带字节递归一句 du 就行了统计在加一句|wc -l
imn1
2016-10-02 17:47:35 +08:00
@ksupertu
我测试过了, du 显示的字节比实际大一点,看过说明它是计算磁盘占用的,不是文件的总字节数
Override
2016-10-02 22:30:09 +08:00
第一个问题 du -sh *,第二个问题用 xargs 。假如我没有理解错的话。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/310232

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX