linux 下将ffmpeg源码目录列表转换存放到csv文件
来源:互联网 发布:小米6数据连接上不了网 编辑:程序博客网 时间:2024/06/03 18:51
声明 : 此文档只做学习交流使用,请勿用作其他商业用途
author : 朝阳_tony
E-mail : linzhaolover@163.com
Create Date: 2015-4-7 17:38:08 Monday
Last Change: 2015-4-7 19:25:35 Monday
转载请注明出处:http://blog.csdn.net/linzhaolover
摘要
tony, 你看ffmpeg的源码目录下有很多x86的文件还有ppc的文件,能不能帮我统计一下,然后放在execl表格里,要统计
1、总共有多少各x86和ppc目录,
2、每个目录有多少文件
3、每个目录有多少各c文件
这可如何是好,开动脑筋,思考一下,
遍历文件莫过find命令,假设每个目录一列,那就要用paste进行列粘贴,能让execl识别的文件,csv文件是不错的选择,好接下来一个问题一个问题解决,
查找目录
# find ./ -name 'x86' -type d./libavfilter/x86./libswscale/x86./libavresample/x86./libswresample/x86./libavutil/x86./libavcodec/x86
# find ./ -name 'ppc' -type d./libswscale/ppc./libavutil/ppc./libavcodec/ppc
还行,ffmpeg下就这几个x86和ppc的目录,手指头都能数过来,
find 命令简单介绍,
./ 是之在什么目录下进行查找
-name ‘x86’ 是指定被查找的对象
-type d 查找的类型为目录
如果想查找文件就用 -type f
查找每个目录下的文件
虽然目录不多,如果用ls去遍历每个目录,亲,手指有点类啊,
简单而重复的工作就让机器去做吧, 上demo
#!/bin/bashfor alldir in x86 ppcdo ds=$( find ./ -name "${alldir}" -type d ) for d in ${ds[@]} do echo "$d" find $d -name '*.c' -type f donedone
第一层for循环为了是遍历两个目录
第二层循环是为乐遍历每个目录下的文件,这次我先找后缀为点c文件
如果想找所有文件,就将点c去掉,只留一个星号
./libavfilter/x86./libavfilter/x86/vf_spp.c./libavfilter/x86/vf_gradfun_init.c./libavfilter/x86/vf_hqdn3d_init.c./libavfilter/x86/vf_tinterlace_init.c./libavfilter/x86/vf_pullup_init.c。。。。。。。。./libavcodec/ppc/vorbisdsp_altivec.c./libavcodec/ppc/mpegvideo_altivec.c./libavcodec/ppc/h264chroma_template.c./libavcodec/ppc/dct-test.c./libavcodec/ppc/huffyuvdsp_altivec.c./libavcodec/ppc/audiodsp.c./libavcodec/ppc/vp8dsp_altivec.c./libavcodec/ppc/h264qpel_template.c./libavcodec/ppc/blockdsp.c./libavcodec/ppc/h264chroma_init.c./libavcodec/ppc/lossless_audiodsp_altivec.c./libavcodec/ppc/vc1dsp_altivec.c
文章篇幅有限,中间略去一些,
目录找到了,文件也找到了,该怎样转成execl文件呢,难不成要一个一个粘贴进去吗,
制作csv文件
最烦复制粘贴了,还是让程序去做吧
#!/bin/bash> a.tmp> b.tmp> c.tmpfor alldir in x86 ppcdo ds=$( find ./ -name "${alldir}" -type d ) for d in ${ds[@]} do echo "$d" find $d -name '*.c' -type f > a.tmp paste -d ',' b.tmp a.tmp > c.tmp mv c.tmp b.tmp donedonemv b.tmp b.csv
最上面三行是为了一开始创建3个临时文件,
首先将遍历到的目录中文件信息保存到a.tmp文件中,
用paste 命令,以逗号为分割符,将a.tmp文件中的每列粘贴到b.tmp的后面,然后保存到c.tmp中,csv文件,大多是以逗号为分割符的
将c.tmp再修改为b.tmp方便下次合并b.tmp 和a.tmp ,
依次这样循环下去,最后结束时,将b.tmp 改名未b.csv,这就是我们要的csv文件,放到execl中酒可以识别了,
有图有真相
总结:
简单重复的事情就让机器去做吧,我去锻炼减肥了,哈哈
- linux 下将ffmpeg源码目录列表转换存放到csv文件
- 通过HDBSQL将当前目录下所有CSV文件导入到HANA的脚本
- linux 将tar文件解压到指定的目录下
- linux 将tar文件解压到指定的目录下
- linux怎么将一个文件移动到另一个目录下
- Log4j日志文件存放到项目目录下
- vc2010+openCV1.0实现将指定目录下的所有jpg文件缩放后存放到目标文件夹
- linux下实现将某个目录下的 某种 文件链接到另一个目录下
- 将文件存放到redis
- linux一个目录下最多可以存放文件个数
- Linux 系统文件存放目录
- 利用ffmpeg在linux下将mp3文件转换为wma
- Linux下c语言实现将一个目录下的所有文件和目录复制到另一个目录下
- Linux下c语言实现将一个目录下的所有文件和目录复制到另一个目录下
- Linux下c语言实现将一个目录下的所有文件和目录复制到另一个目录下
- Linux 下将一个目录拷贝到另一个目录下
- Makefile例子,能够引用子目录下的源文件,并将二进制文件存放到相应目录
- 获取远程文件目录,存放到本地
- 【Android开发经验】Android开发相关的Blog推荐——跟随大神的脚步才能成长为大神
- printk_timed_ratelimit 使用 , 可以防止 打太多log kernel 发生 soft lockup卡死
- P52第24题
- 蓝桥杯 地址转换
- 漫谈应用缓存的命中率问题
- linux 下将ffmpeg源码目录列表转换存放到csv文件
- Android开发随记(2)-- onClick事件统一处理、系统界面跳转
- RHEL6下获取安装包(RPM)而不安装的方法
- 第27课时,自测
- 将数据成员改为私人的(第二章第二题)
- C语言简单模拟ArrayList
- c++变异问题 对‘std::ios_base::Init::Init()’未定义的引用
- 【Unity】数据持久化
- 雨滴效果