基于正则表达式拆分的文本文件

时间:2013-06-21 11:50:16

标签: bash text

如何根据表达式是行的一部分的reg表达式将文本文件(在linux命令行bash环境中)拆分为多个文本文件?例如:

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,*

感谢您的反馈。

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分: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