【发布时间】:2017-08-01 23:27:29
【问题描述】:
我有大 (4GB) 分号分隔文件 (1.txt):
- "3321";"<a href='/files/goods/edit/647/'><u>[ID 647]</u></a> Шорты";"2015-09-06 18:39:17";"1590";"1";"500";"";"Лейла";"878785";"Да";"80.140.1.38"
- "2780";"<a href='/files/goods/edit/647/'><u>[ID 647]</u></a> Шорты";"2015-09-06 18:42:51";"1590";"1";"500";"";"Мара";"8664456";"Да";"46.00.00.2"
- "3352";"<a href='/files/goods/edit/698/'><u>[ID 698]</u></a> Deck";"2015-09-06 19:05:42";"990";"1";"400";"";"Ed";"456452";"Нет";"80.26.00.00"
- "3764";"<a href='/files/goods/edit/669/'><u>[ID 669]</u></a> Fish";"2015-09-06 18:36:18";"1390";"1";"530";"";"Ann";"545566";"Нет";"80.00.35.90"
- "3323";"<a href='/files/goods/edit/669/'><u>[ID 669]</u></a> Fish";"2015-09-06 18:54:18";"1390";"1";"530";"";"юрий";"99393";"Да";"85.141.00.100"
- "32763";"<a href='/files/goods/edit/430/'><u>[ID 430]</u></a> Radio";"2015-09-06
我需要按第二列对1.txt 进行排序,并根据第二列名称将所有结果输出到单独的文件中。
我这样做:
sed -r -i -e 's#"<a href=\x27\/files\/goods\/edit\/##g' 1.txt | sed -r -i -e 's#\/\x27>#;#g' 1.txt | sort --field-separator=';' --key=2 1.txt
但是现在如何拆分 1.txt 文件并将所有相同的 ID(第二列)值行放在单独的文件中并计算文件中的记录?拥有647_count.txt、698_count.txt、669_count.txt、430_count.txt 之类的东西。
【问题讨论】:
-
似乎文件名
647_count.txt包含第二列的最后一部分"<a href='/files/goods/edit/647/'>"但不是 count records in file -
647_count.txt 不包含任何内容,因为我不知道该怎么做
-
我指的是文件名,而不是内容。文件名是否应该包含
ID值? -
应该包含ID和记录数
标签: linux bash sorting unix awk