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