Не удается установить приложения даже в терминале из-за ошибок зависимостей после замены LibreOffice на OpenOffice

EDIT:

Создайте файл, вызовите его, как вам нравится, и скопируйте скрипт awk в него. chmod +x scriptname.awk, чтобы сделать его исполняемым.

#!/usr/bin/awk -f

BEGIN {var_num=0} 
/VARIABLES/,/}/ {
    sub("{","");
    sub("}","");
    sub("VARIABLES",""); 
    if ($0~/[[:alpha:]],/||/[[:alpha:]]/)var_num+=1
    }

 /DESCRIPTION/{ 
    getline; printf "%s,",$0
    } 
/::=/ {
    printf $2","
    }
END{ printf var_num }

Теперь вот мой пример запуска скрипта:

$ IFS=","; ARRAY=($(./three-lines.awk test-text.txt  | xargs echo ))                               
$ echo ${ARRAY[0]}; echo ${ARRAY[1]}; echo ${ARRAY[2]}                                             
SNMP Agent is up. 
101
5

Effectivelly, это создает массив из трех элементов, и эти элементы - это то, что извлекает скрипт awk из файла , Regex [[: alpha:]] используется для рассмотрения алфавитных сценариев и алфавитных строк с комами в качестве переменных, поэтому var_num получает приращение; если нет строк, соответствующих этому шаблону, var_num не увеличивается EDIT

Вот мой однострочный awk:

awk 'BEGIN {var_num=0} /VARIABLES/,/}/ {sub("{","");sub("}","");sub("VARIABLES",""); var_num+=1} END{ print var_num}' test-text.txt

Основная идея: создать переменную var_num, сообщить awk, чтобы читать все строки, содержащие строку VARIABLES и фигурные скобки}. Избавьтесь от этой строки, всех фигурных скобок, и у нас есть только строки, представляющие переменные. Добавьте 1 для каждой строки в var_num. В конце - напечатайте общее количество подсчитанных переменных.

Причина удаления VARIABLES и фигурных скобок заключается в том, что мы не хотим подсчитывать строки, содержащие только строку VARIABLE или фигурные скобки. Итак, нам нужно убедиться, что они ушли.

Еще один шаблон, который я заметил, состоит в том, что каждая переменная разделяется на группы. Таким образом, вы можете использовать оператор if, что-то вроде if ($0~/,/) { var_num+=1 }

0
задан 6 April 2018 в 23:05

0 ответов

Другие вопросы по тегам:

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