использование в качестве файла awk
{ split($10,A,":") ;
B[A[1]]=$14 ; C[A[1]] += $11 }
END { for ( a in B ) printf "%s\t%s\t%d\n",a,B[a],C[a] ;}
дает
chromosome_1_unplaced_Contig0.12366 gi|526117831|ref|NM_001281196.1| 637
chromosome_1_unplaced_Contig0.12504 gi|526117831|ref|NM_001281196.1| 314
chromosome_1_unplaced_Contig0.3951 gi|526117967|ref|NM_001281232.1| 107
chromosome_1_Contig0.1980 gi|952977790|ref|NM_001317128.1| 849
chromosome_1_Contig0.3916 gi|733214878|ref|NM_001303082.1| 477
Я не понимал других требований. однако
split ($ 10, A, ":")
разделит 10-е поле в массиве A в соответствии с ":" B [A [1]] = $ 14;
довольно просто файл программы вызывается с использованием
awk -f se.awk data
Формат файла совместим. Git использует лучший формат, diff -u
. Он также расширяет его для представления дополнительных типов изменений.
Эквивалентом patch
является git apply
.Он выполняет изменения в индексе, а также применяет их к рабочему дереву.
Я помню, что git apply
был более строгим, чем patch
, хотя в справочной документации явное сравнение не проводится. В нем упоминается несколько тестов/ошибок, которые можно включить или отключить.
В справочной документации также предполагается, что его можно использовать как «замену патча GNU» — даже вне репозитория git, если вы используете определенную опцию.
git -diff предлагает больше возможностей, чем diff, и я не думаю, что выходные патчи совместимы (без некоторых дополнительных опций ), так как diff будет выдавать такие строки, как
diff -ruNa dir1/file1.txt dir2/file1.txt
в то время как git -diff выдает такие строки, как
diff --git a/dir1/file1.txt b/dir2/file1.txt
(обратите внимание на префикс источника и получателя, переключаемый с помощью --no-prefix
и различные параметры)
Вот некоторые дополнительные возможности git -diff:
Может записывать перемещенные/переименованные файлы, в то время как diff не может
Использует рекурсивный режим, унифицированные различия и обрабатывает новые/удаленные файлы по умолчанию(diff -ruN
)
Поддерживает различные алгоритмы поиска различий
Поддерживает бинарные патчи git, которые кодируют бинарные данные как ASCII