2013-12-09 58 views
0

我有以下的數據集的輸入文件的模量 -拆分使用AWK文件基於輸入文件的第一列

1234567,1234444,34567 
2345678,9878979,54354 
1222222,8763481,89374 
3444444,8978979,78346 

我想基於定義的第一列的模量(10),爲了將這個文件在輸入文件中。所以我想將屬於set的所有數據(與mod匹配)分組並將其放入新文件中。 所以對於這個輸入數據,我想要有四個不同的文件。並且輸出名稱必須類似於 -

File 1 - output2.txt 
1222222,8763481,89374 
File 2 - output4.txt 
3444444,8978979,78346 

等等。

你能幫我提供一個awk語句來執行這個嗎?

回答

0

的grep會做

grep '^[0-9]*2,' your_file > output2.txt 
grep '^[0-9]*4,' your_file > output4.txt 

AWK版本

awk '/^[0-9]*2,/' your_file > output2.txt 
1

隨着awk可以使用%模運算符:

$ awk '{print > $1%10}' file 

您也可以在文件名中添加一些文本:

$ awk '{print > "output"$1%10".txt"}' file 

在我的情況產生:

$ls 
output2.txt output4.txt output7.txt output8.txt 

而且例如file2如下:

$ cat output2.txt 
1222222,8763481,89374 
相關問題