Подобных вопросов много, но все они (которые я видел) интересуются сортировкой и подсчетом повторяющихся строк из первой строки данных. В моем случае мне нужно оставить первую строку нетронутой и сверху, при этом вызывая sort | uniq -c
для всех следующих строк. Я добрался до части сортировки, единственная часть, с которой я застрял, это uniq -c
. Я пробовал каналы, вызывая system("uniq -c")
, другие комбинации system(...)
, но ничего не работает. Моя текущая строка команд выглядит так, но она доходит только до части сортировки:
myProgram input_file other_input_file | awk 'NR<2{print $0;next}{print $0 | "sort"}'
и отсюда получаю:
Id: revision_data #this needs to stay on top
0
0
10.1007/S00253-012-4050-Z
10.1007/S00775-006-0142-5
10.1021/ACS.BIOCHEM.5B00958
10.1021/BI020286F
10.1038/35422
10.1093/NAR/28.8.1743
10.1093/NAR/GKN245
10.7554/ELIFE.00813
а мне нужно вот это:
Id: revision_data
2 0
1 10.1007/S00253-012-4050-Z
1 10.1007/S00775-006-0142-5
1 10.1021/ACS.BIOCHEM.5B00958
1 10.1021/BI020286F
1 10.1093/NAR/28.8.1743
1 10.1093/NAR/GKN245
1 10.7554/ELIFE.00813
как я могу вставить uniq -c
в свои команды, чтобы получить нужный мне результат?
10.1038/35422
не выводится? - person anubhava   schedule 12.12.2019