快速生成 markdown 表格:针对文件列表和文件大小
来源:互联网 发布:java获得项目绝对路径 编辑:程序博客网 时间:2024/06/02 06:16
快速生成 markdown 表格:针对文件列表和文件大小
注:在linux环境或者cygwin环境中操作。
★ 目标
有一些文件,用这些文件生成一个表格(markdown中的表格),表格有两列,一列是文件名,一列是文件大小。
markdown表格大概的样子:
上面这个markdown表格的原始代码为:
| 文件名 | 大小 || --- | --- || art.tar.gz | 6.0M || bionic.tar.gz | 3.7M |
所以,我的目标是将文件名和文件大小整理成| art.tar.gz | 6.0M |
这个形式。
然后加上表格标题(| 文件名 | 大小 |
)和分割线(| --- | --- |
),就完成markdown表格了。
★ 已有文件
已有的文件列表如下:
注:这是android_8.0.0_r17的代码,分目录压缩了。
一共是26个文件。(注:执行ls | wc -l
可以知道文件的数量,不用一个个去数了)
$ ls -l总用量 13G-rw-rw----+ 1 galian galian 6.0M 10月 5 07:59 art.tar.gz-rw-rw----+ 1 galian galian 3.7M 10月 5 07:59 bionic.tar.gz-rw-rw----+ 1 galian galian 18M 10月 5 07:59 bootable.tar.gz-rw-rw----+ 1 galian galian 3.1M 10月 5 07:59 build.tar.gz-rw-rw----+ 1 galian galian 381M 10月 5 08:01 cts.tar.gz-rw-rw----+ 1 galian galian 1.2M 10月 5 08:01 dalvik.tar.gz-rw-rw----+ 1 galian galian 277M 10月 5 08:02 developers.tar.gz-rw-rw----+ 1 galian galian 90M 10月 5 08:02 development.tar.gz-rw-rw----+ 1 galian galian 168M 10月 5 08:03 device.tar.gz-rw-rw----+ 1 galian galian 28M 10月 5 08:03 docs.tar.gz-rw-rw----+ 1 galian galian 1.5G 10月 5 08:11 external.tar.gz-rw-rw----+ 1 galian galian 918M 10月 5 08:13 frameworks.tar.gz-rw-rw----+ 1 galian galian 40M 10月 5 08:13 hardware.tar.gz-rw-rw----+ 1 galian galian 81K 10月 5 08:13 kernel.tar.gz-rw-rw----+ 1 galian galian 10M 10月 5 08:14 libcore.tar.gz-rw-rw----+ 1 galian galian 29K 10月 5 08:14 libnativehelper.tar.gz-rw-rw----+ 1 galian galian 243 10月 5 07:54 makefile.tar.gz-rw-rw----+ 1 galian galian 144M 10月 5 08:15 packages.tar.gz-rw-rw----+ 1 galian galian 149K 10月 5 08:15 pdk.tar.gz-rw-rw----+ 1 galian galian 395K 10月 5 08:15 platform_testing.tar.gz-rw-rw----+ 1 galian galian 7.9G 10月 5 08:39 prebuilts.tar.gz-rw-rw----+ 1 galian galian 6.9M 10月 5 08:39 sdk.tar.gz-rw-rw----+ 1 galian galian 196M 10月 5 08:40 system.tar.gz-rw-rw----+ 1 galian galian 3.4M 10月 5 08:40 test.tar.gz-rw-rw----+ 1 galian galian 29M 10月 5 08:40 toolchain.tar.gz-rw-rw----+ 1 galian galian 1.4G 10月 5 08:42 tools.tar.gz
★ 使用awk
命令快速提取文件名和文件大小
对于ls -l
显示的信息有9列,每一列以空格分割。
例如:
-rw-rw----+ 1 galian galian 6.0M 10月 5 07:59 art.tar.gz
其中第5列是文件大小,第9列是文件名。
用awk提取第5列和第9列:
$ ls -l | awk -F' ' '{print $9 $5}'art.tar.gz6.0Mbionic.tar.gz3.7Mbootable.tar.gz18Mbuild.tar.gz3.1Mcts.tar.gz381Mdalvik.tar.gz1.2M略
这个命令只是验证了可以提取到文件名和文件大小。但是这个样式不是我想要的格式,还需要改进awk命令。需要将文件名和文件大小改造成| art.tar.gz | 6.0M |
这个形式。
加上竖线和空格就好了,命令如下:
ls -l | awk -F' ' '{print "| " $9 " | " $5 " |"}'
可以看到,添加了3个竖线:"| "
," | "
," |"
。加上的空格,是为了美观,并且便于阅读。
执行上面的命令,结果如下(完整的结果):
注:第一行中的| | |
是由于ls -l
的第一行是“总用量 13G”,这一行中没有第5列和第9列。所以为空。不过没有关系,| | |
是有用的,后面还要再加东西。
$ ls -l | awk -F' ' '{print "| " $9 " | " $5 " |"}'| | || art.tar.gz | 6.0M || bionic.tar.gz | 3.7M || bootable.tar.gz | 18M || build.tar.gz | 3.1M || cts.tar.gz | 381M || dalvik.tar.gz | 1.2M || developers.tar.gz | 277M || development.tar.gz | 90M || device.tar.gz | 168M || docs.tar.gz | 28M || external.tar.gz | 1.5G || frameworks.tar.gz | 918M || hardware.tar.gz | 40M || kernel.tar.gz | 81K || libcore.tar.gz | 10M || libnativehelper.tar.gz | 29K || makefile.tar.gz | 243 || packages.tar.gz | 144M || pdk.tar.gz | 149K || platform_testing.tar.gz | 395K || prebuilts.tar.gz | 7.9G || sdk.tar.gz | 6.9M || system.tar.gz | 196M || test.tar.gz | 3.4M || toolchain.tar.gz | 29M || tools.tar.gz | 1.4G |
★ 改造成markdown表格
添加上表格标题和分割线,就成了markdown表格,如下
| 文件名 | 大小(单位:字节) || -- | -- || art.tar.gz | 6.0M || bionic.tar.gz | 3.7M || bootable.tar.gz | 18M || build.tar.gz | 3.1M || cts.tar.gz | 381M || dalvik.tar.gz | 1.2M || developers.tar.gz | 277M || development.tar.gz | 90M || device.tar.gz | 168M || docs.tar.gz | 28M || external.tar.gz | 1.5G || frameworks.tar.gz | 918M || hardware.tar.gz | 40M || kernel.tar.gz | 81K || libcore.tar.gz | 10M || libnativehelper.tar.gz | 29K || makefile.tar.gz | 243 || packages.tar.gz | 144M || pdk.tar.gz | 149K || platform_testing.tar.gz | 395K || prebuilts.tar.gz | 7.9G || sdk.tar.gz | 6.9M || system.tar.gz | 196M || test.tar.gz | 3.4M || toolchain.tar.gz | 29M || tools.tar.gz | 1.4G |
显示的效果,如下:
★ 结语
熟练掌握awk命令,可以方便的处理文本,提高工作效率。
- 快速生成 markdown 表格:针对文件列表和文件大小
- 使用Excel快速生成markdown的表格
- 从ftp获取文件列表以及文件大小
- 列表和表格
- 表格和列表
- 表格和列表
- CSS表格和列表
- HTML表格和列表
- Intellij Idea快速生成表格
- markdown文件表格的写法
- Markdown 从excel快速复制表格
- markdown文件生成HTML
- 限制Apache日志文件大小和每天生成日志文件的方法
- java代码生成PDF文件-表格和图片
- Matlab生成Word文件(含表格和图片插入)
- java代码生成PDF文件-表格和图片
- python列表的快速生成
- Python用列表生成html表格
- Python小练习
- 心塞的电路实践
- -要成为精力的管理者,而不是时间的管理者
- Codeforces Round #443 (Div. 2)
- Spring mvc ViewResolver视图解析器实现机制
- 快速生成 markdown 表格:针对文件列表和文件大小
- js小球碰撞反弹
- 欢迎使用CSDN-markdown编辑器
- JAVA 23种设计模式
- 大型3D九界一键端+视频教程
- CAS操作实现并发的优势、以及实现一个无锁队列、怎样解决ABA 问题
- Spring mvc HTTP协议之缓存机制
- Spirng4-快速入门之Bean的生命周期
- 新手村 循环 计数问题