2015-10-04 43 views
1

我有一個.txt文件:劈裂帶文本的txt文件在幾個部分

level5:tafekf 
level5:tafekg 
level5:tafekh 
level5:tafeki 
level5:tafekj 
level5:tafekk 
level5:tafekl 
level5:tafekm 
level5:tafekn 
level5:tafeko 
level5:tafekp 
level5:tafekq 
level5:tafekr 
level5:tafeks 
level5:tafekt 
level5:tafeku 
level5:tafekv 
level5:tafekw 
level5:tafekx 
level5:tafeky 
level5:tafekz 
level5:tafela 
level5:tafelb 
level5:tafelc 
level5:tafeld 
level5:tafele 
level5:tafelf 
level5:tafeku 
level5:tafekv 
level5:tafekw 
level5:tafekv 
level5:tafekw 

而且我想在Linux終端使用命令分割在例如10倍。 所以我希望有10個.txt文件作爲輸出與

的1.txt

level5:tafekf 
    level5:tafekg 
    level5:tafekh 

2.txt

level5:tafeki 
    level5:tafekj 
    level5:tafekk 

3.txt

level5:tafekl 
    level5:tafekm 
    level5:tafekn 

4。 txt

level5:tafeko 
    level5:tafekp 
    level5:tafekq 

5.txt

level5:tafekr 
    level5:tafeks 
    level5:tafekt 

6.txt

level5:tafeku 
    level5:tafekv 
    level5:tafekw 

7.txt

level5:tafekx 
    level5:tafeky 
    level5:tafekz 

8.txt

level5:tafela 
    level5:tafelb 
    level5:tafelc 

9.txt

level5:tafeld 
    level5:tafele 
    level5:tafelf 

10.txt

level5:tafeku 
    level5:tafekv 
    level5:tafekw 
    level5:tafeih 
    level5:tafeii 

謝謝。

+0

的目標是,你添加一些自己的代碼至少展示你自己爲解決這個問題所做的研究工作。 – Cyrus

+0

@Cyrus我知道我不需要使用Perl。但不知道這些命令。 – Chris

回答

2

您可以從GNU的coreutils使用split命令:

split -n l/10 --numeric-suffixes=1 --additional-suffix=.txt input.file 

我希望輸出名稱都不夠好。他們從x01.txt開始,然後是x02.txt依此類推。欲瞭解更多信息,請致電info split


上述命令適用於GNU系統,如Linux。其他系統也可能附帶一個版本的拆分,但它與GNU版本不兼容。對於一個便攜版本,我會用AWK這樣的:

split.awk

{ 
    a[NR]=$0 
    c++ 
} 

END { 
    lines_per_split = int(c/num_splits) 
    f=1 
    for(i=1;i<=c;i++) { 
     print a[i] >> f".txt" 
     if(i%lines_per_split==0 && c-i >= lines_per_split) { 
      close(f".txt") 
      f++ 
     } 
    } 
} 

這樣稱呼它:

awk -vnum_splits=10 -f split.awk input.txt 
+0

我試過了但是我有這個錯誤:split:非法選項-n 用法:split [-a sufflen] [-b byte_count] [-l line_count] [-p pattern] [file [prefix]] – Chris

+0

Are you在Linux上? – hek2mgl

+0

我正在使用Mac OS – Chris