1
文件我有根据设定值以下数据拆分基于一个标准
.domain bag
.set bag1
bag1
abc1
.set bag2
bag2
abc2
.domain cat
.set bag1:cat
bag1:cat
abc1:cat
.set bag2:cat
bag2:cat
abc2:cat
我想将这个文件分成两个(bag1.txt和bag2.txt)的文件。
bag1.txt应该是这样的:
.domain bag
.set bag1
bag1
abc1
.domain cat
.set bag1:cat
bag1:cat
abc1:cat
bag2.txt应该是这样的:
.domain bag
.set bag2
bag2
abc2
.domain cat
.set bag2:cat
bag2:cat
abc2:cat
的。域线是这两个文件常见。
我试过下面的命令,但它不工作。
nawk '{if($0~/.set/){split($2,a,":");filename=a[1]".text"}if(filename=".text"){print|"tee *.text"}else{print >filename}}' file.txt
这是ok.But我们可以概括的一部分共同线?如果有很多包? like bag1 .... bag1000.how我可以做到这一点吗?我有很多从bag1到bag1000的文件,而不是print >> bag1,我们可以简单地用print> * .txt(很多空文件是已经出现在从bag1.txt到bag.txt的目录中) – Vijay 2012-08-08 12:06:30
@peter:我已经编辑了答案来概括它。这是完全评论,你可以看到它是否符合你的需求,因为我不明白你的意思是什么'print >> * .txt' – Birei 2012-08-08 13:41:08