Слияние следует uniq-c

Отмена - я называю сторонний блок, который поддерживает операции отмены. Это требует, чтобы вызывающие стороны создали контекст отмены, назвали некоторые методы в блоке, adn тогда уничтожают контекст отмены. Контексты могут быть вложены. Кроме того, если контекст создан, но оставлен в нежелательном состоянии, которое требует перезапуска приложения.

Обычно для использования отмены я записал бы что-то вроде этого

    void foo()
    {
        int id = lib.create_undo_context();
        try
        {
            lib.performsomeaction();
            lib.performsomeaction();
            lib.performsomeaction();

        }
        finally
        {
            lib.destroy_undo_context(id);
        }
    }

с PostSharp, я определяю названный атрибут [Отменяют], который создает контекст отмены, когда метод запускает и уничтожает его, когда метод выходит (даже если исключение выдается) - таким образом, код похож на это

    [Undo]
    void foo()
    {
        lib.performsomeaction();
        lib.performsomeaction();
        lib.performsomeaction();
    }

, Это немного более сложно для реализации этого, чем я показываю, потому что я имею, гарантируют, что все контексты отмены очищены даже в случаях, где там вкладываются контексты Отмены - но Вы получаете идею.

5
задан radarek 25 September 2009 в 09:46
поделиться

3 ответа

Try it with awk:

awk '{ count[$2] += $1 } END { for(elem in count) print count[elem], elem }' 1.out 2.out 
3
ответ дан 15 December 2019 в 06:30
поделиться

Это довольно специфическая проблема, поэтому маловероятно, что какой-либо инструмент будет делать это по умолчанию. Вы можете написать сценарий в достаточно небольшом цикле (без неприятностей с awk), реализованном на любом языке сценариев (даже на sh). Я не думаю, что есть другой выход.

0
ответ дан 15 December 2019 в 06:30
поделиться

This is not quite serious (but it works). I like Philipps solution.

cat 1.out 2.out |
{
    while read line; do
        for i in $(seq ${line% *}); do
            echo ${line#* }
        done
    done
} | sort | uniq -c
0
ответ дан 15 December 2019 в 06:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: