- 论坛徽章:
- 0
|
一个解决方法
==测试文件:txt==
: cat txt
file1 123
file2 abc
file2 dfg
file1 987
file2 xyz
file1 456
==拆分条件文件:filecond==
: cat filecond
file1
file2
拆分原则:按第一个字段,将数据归类。例如:file1, 归于file1.txt;file2,归于file2.txt
=========脚本================
: cat filecond
file1
file2
gzhang@xianlinux9.asia.corp.platform.com-40: cat sortFile.awk
BEGIN {
"cat filecond|wc -l" | getline cndNum;
for (i = 0; i < cndNum; i++)
{
getline < "filecond";
a=$0;
}
}
{
for (i=0; i<cndNum; i++)
if ($1== a)
cmdLine=sprintf("echo %s >> %s.txt",$0,a);
#system(cmdLine);
print cmdLine;
}
=====测试结果=====
: awk -f sortFile.awk txt
: more file?.txt
::::::::::::::
file1.txt
::::::::::::::
file1 123
file1 987
file1 456
::::::::::::::
file2.txt
::::::::::::::
file2 abc
file2 dfg
file2 xyz
[ 本帖最后由 vic2005 于 2006-9-1 15:30 编辑 ] |
|