免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2461 | 回复: 13
打印 上一主题 下一主题

[文件目录] 循环多次读取到文件后的输出格式 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2017-11-10 14:53 |只看该作者 |倒序浏览
我有个3层结构的目录, 例子如下 aaa/aa1/a1.file   aaa/aa2/a2.file bbb/bb/b.file,2级目录数量未知,文件数量和文件内容也未知
我现在有个嵌套循环三次读取到文件,然后做格式化输出结果如下
dir1:aaa,dir2:aa1,file:i'm a1
file:i'm a1 too
dir2:aa2,file:i'm a2
dir1:bbb,dir2:bb,file:i'm b
我如何使结果变成
dir1:aaa,dir2:aa1,file:i'm a1
dir1:aaa,dir2:aa1,file:i'm a1 too
dir1:aaa,dir2:aa2,file:i'm a2
dir1:bbb,dir2:bb,file:i'm b

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
2 [报告]
发表于 2017-11-10 15:03 |只看该作者
回复 1# wjw870907

$ awk -F, -vOFS=, '/^dir/{print;--NF;dir=$0}/^file/{print dir,$0}' FILE
dir1:aaa,dir2:aa1,file:i'm a1
dir1:aaa,dir2:aa1,file:i'm a1 too
dir2:aa2,file:i'm a2
dir1:bbb,dir2:bb,file:i'm b

$ cat FILE
dir1:aaa,dir2:aa1,file:i'm a1
file:i'm a1 too
dir2:aa2,file:i'm a2
dir1:bbb,dir2:bb,file:i'm b

论坛徽章:
0
3 [报告]
发表于 2017-11-10 15:07 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2017-11-10 15:15 |只看该作者
第三行没有dir1,而且我文件里面内容最后不一定是file开头的呢

论坛徽章:
0
5 [报告]
发表于 2017-11-10 15:16 |只看该作者
回复 2# jason680

谢谢,不过 第三行没有dir1,而且我文件里面内容最后不一定是file开头的呢

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
6 [报告]
发表于 2017-11-10 15:19 |只看该作者
回复 5# wjw870907

$ awk -F, -vOFS=, 'NF==3{d1=$1;d2=$2;print;next}NF==2{d2=$1;print d1,$0;next}{print d1,d2,$0}' FILE
dir1:aaa,dir2:aa1,file:i'm a1
dir1:aaa,dir2:aa1,file:i'm a1 too
dir1:aaa,dir2:aa2,file:i'm a2
dir1:bbb,dir2:bb,file:i'm b

论坛徽章:
0
7 [报告]
发表于 2017-11-10 15:32 |只看该作者
回复 6# jason680

谢谢大神,如果有4列呢

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
8 [报告]
发表于 2017-11-10 15:33 |只看该作者
回复 7# wjw870907

>> 我有个3层结构的目录....

论坛徽章:
0
9 [报告]
发表于 2017-11-10 15:39 |只看该作者
回复 8# jason680

我表达有问题,目录结构是三成,但是字段会有四层祖父目录/父目录/子目录/文件
但是结果要祖父目录,父目录,子目录,文件名,文件内容

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
10 [报告]
发表于 2017-11-10 15:41 |只看该作者
回复 9# wjw870907

for your question
1. input data/file
2. procedure rule
3. ouput data/file
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP