Не удалось запустить elasticsearch

Другой подход awk :

$ awk 'NR==FNR{a[$2]+=$3+$4; next} {b[$2]+=$3+$4;}
       END{
           for(i in a){
             if(i in b && a[i]!=b[1]){
                print "Unequal total for",i
             }
           }
       }' input output 
Unequal total for 1019
Unequal total for 1021
Unequal total for 1022

Или, если вам действительно нужен точный результат, который вы показываете в своем вопросе:

$ awk 'NR==FNR{a[$2]+=$3+$4; next} {b[$2]+=$3+$4;}
       END{
            for(i in a){
                if(i in b && a[i]!=b[1]){
                    c[i]
                }
            } 
            printf "Unequal total for "; 
            for(i in c){printf "%s, ", i}
        }' input output | perl -pe 's/,\s*$/\n/'
Unequal total for 1019, 1021, 1022

FNR - это номер строки текущего файла, а NR - это общий номер строки для всего ввода. Они равны только при чтении первого файла. Итак, NR == FNR {a [$ 2] + = $ 3 + $ 4; next} добавит сумму 3-го и 4-го столбца к значению, связанному со 2-м столбцом в массиве a , и сделает это только для первого файла. next гарантирует, что мы перейдем к следующей строке и не выполним остальную часть скрипта для текущей строки.

{b [$ 2] + = $ 3 + $ 4;} будет запущен, только если предыдущий не был запущен, если мы читаем второй файл. Он делает то же самое со значениями во втором файле, за исключением того, что сохраняет их в массиве b .

Когда мы достигаем конца всего ввода, выполняется блок END {} . Это будет перебирать все ключи в a и, если они также являются ключами в b , и их значение не то же самое, он распечатывает ключ.

3
15.05.2017, 22:09
2 ответа

Я обновил свой Amazon Linux(2014.03) до Amazon Linux(2016.09). Теперь elasticsearch работает нормально.

0
27.01.2020, 21:37

Вы не можете запустить elasticsearch , потому что в системе присутствует зависший файл блокировки.

Достаточно удалить его с помощью:

sudo rm /var/lock/subsys/elasticsearch

Тогда вы сможете снова запустить elasticsearch .

Если это происходит регулярно, я бы посоветовал изучить причины этого.

0
27.01.2020, 21:37

Теги

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