2013-06-21 70 views
0

如何將基於reg表達式的文本文件拆分爲多個文本文件(其中表達式是行的一部分)?例如:基於正則表達式的文本文件拆分

original.txt:

1,Johnny good,91240,***** 
2,Joe non-frequent,34755,*** 
4,Mary bad credit,92323,* 
2,Joe2 non-frequentsd,34755,*** 
223,Joe3 frequentsd,34755,*** 

文件分割後:

91240.txt:

1,Johnny good,91240,***** 

34755.txt:

2,Joe non-frequent,34755,*** 
2,Joe2 non-frequentsd,34755,*** 
223,Joe3 frequentsd,34755,*** 

92323.txt :

4,Mary bad credit,92323,* 

感謝您的反饋。

回答

4
awk -F, '{print >$3".txt"}' your_file 
+0

哦,Linux命令行,我是多麼愛你。 – hometoast

+0

如果我記得,awk的一些實現可以讓你寫'awk -F,{file = $ 3「.txt」;打印>文件}'' –

0

試試這個..

var=`awk -F, '{print $3}' input.txt`; 
for word in $var 
do 
    echo $word 
    grp="grep $word input.txt" 
    out=$($grp); 
    echo $out > "$word.txt" 
done