我正在尝试基于2列值拆分文件。
能够根据一列拆分文件
awk -F\| '{print>$1}' file1
数据需要根据第2列和第5列进行拆分(如果column2 = 3 AND column5 = M)
A1|3|100|20|M
A1|5|101|20|N
A1|5|101|30|M
A1|3|105|20|O
B1|3|150|5|M
A1|3|106|20|Q
A1|5|101|20|N
A1|5|101|30|Q
A1|5108|20|O
B1|3|150|5|M
Output : File 1
A1|5|101|20|N
A1|5|101|30|M
A1|3|105|20|O
A1|3|106|20|Q
A1|5|101|20|N
A1|5|101|30|Q
A1|5108|20|O
Output: File 2
A1|3|100|20|M
B1|3|150|5|M
B1|3|150|5|M
答案 0 :(得分:0)
cat file1
A1|3|100|20|M
A1|5|101|20|N
A1|5|101|30|M
A1|3|105|20|O
B1|3|150|5|M
A1|3|106|20|Q
A1|5|101|20|N
A1|5|101|30|Q
A1|5108|20|O
B1|3|150|5|M
尝试一下:
awk -F\| '{print>$2$5}' file1
哪个给我:
ls -l
total 120
-rw-rw-r-- 1 tink tink 26 Jun 21 12:22 3M
-rw-rw-r-- 1 tink tink 15 Jun 21 12:22 3M
-rw-rw-r-- 1 tink tink 14 Jun 21 12:22 3O
-rw-rw-r-- 1 tink tink 14 Jun 21 12:22 3Q
-rw-rw-r-- 1 tink tink 13 Jun 21 12:22 5108
-rw-rw-r-- 1 tink tink 15 Jun 21 12:22 5M
-rw-rw-r-- 1 tink tink 14 Jun 21 12:22 5N
-rw-rw-r-- 1 tink tink 15 Jun 21 12:22 5N
-rw-rw-r-- 1 tink tink 14 Jun 21 12:22 5Q
-rw-rw-r-- 1 tink tink 140 Jun 21 12:16 file1