Как Вы сохраняете пространство в литерале в значении массива в ударе и как обрезать вниз результаты команды вида?

Похоже, что qemu проблема контурной карты может работаться вокруг в коде путем добавления к qemu пути поиска с -L

. Я думаю, что это изменение кода GitHub фиксирует его.

4
13.04.2017, 15:36
2 ответа

При использовании переменных оболочки можно сохранить пробелы (более точно, препятствовать тому, чтобы значения были разделены на слова на основе символов разделителя полей, которые перечисляются в переменной оболочки $IFS) путем окружения переменных оболочки двойными кавычками.

for w in "${WORDS[@]}" 
do 
  echo -n "$f [$w]:"
  grep -aci "$w" $f 2>/dev/null
done

(Не повредило бы окружать $f с кавычками также в случае, если Вы встречаетесь с именами файлов с пробелами.)

Поскольку второй цикл (2) заканчивает тем, что произвел каждый уникальные случаи слова в журнале, как может его объем быть ограниченным или как должен я отбрасывать:

вывод, состоящий из единственных символов?

Добавить grep .. в конвейере для включения только строк с 2 или больше символами.

вывод, состоящий из отдельных проявлений?

Добавить -d к uniq в конвейере, так, чтобы это только показало дублирующиеся строки.

cat $f 2>/dev/null | tr -c '[:alnum:]' '[\n*]' | tr -d '[:digit:]' | sort -f | grep .. | uniq -dci | sort -fnr

Есть ли какие-либо рекомендации для того, чтобы визуально представить вывод, или есть ли инструмент, который обеспечивает дальнейшую функциональность или для поиска или для форматирования данные слова и количество?

Существует набор приложений там, которые будут сканировать и суммировать интересные случаи в файлах журнала, некоторые освобождают, некоторая реклама. Я не уверен, что нам разрешают дать широкие рекомендации, но если бы можно дать примеры запросов, требуется сделать или выходные форматы, которые требуется видеть, возможно, мы можем ответить на те типы вопросов.

4
27.01.2020, 20:52
  • 1
    Спасибо, я буду помнить это grep .. в течение долгого времени, и будет читать больше о IFS и особенно как двойные кавычки приостанавливают ее как Вы, сделал здесь. Затем работа над конвейером была и проста и включение и заботится и о единственных и о двойных значениях символов, также удаляя отдельные проявления. Все это в 12 символах!Удачи. –   21.01.2014, 01:52

Сохраните пробел путем изменения Поля Интера Seperator IFS (см. удар),

Здесь я создаю WORDS2 после установки IFS для подчеркивания, затем массив устанавливается с помощью подчеркивания между полями и пространством в did not и should not не оставлен.

SAVE_IFS="$IFS"
IFS=_
WORDS2=(error_fail.*_wrong_bad_break_panic_abort.*_disaster_problem_issue_'couldn'\''t'_'didn'\''t'_'wasn'\''t'_'shouldn'\''t'_'isn'\''t'_'don'\''t'_"is not"_'did not'_die.*_crash.*_dump.*_seg.*_bug.*_report.*_status)
IFS=$SAVE_IFS

Затем в цикле снова IFS подкачивается

IFS=_
for w in ${WORDS2[@]}
do
    echo -n "$f [$w]:"
    grep -aci $w $f 2>/dev/null
done
IFS=$SAVE_IFS

Я получил этот вывод от/var/log/messages

/var/log/messages [error]:0
/var/log/messages [fail.*]:0
/var/log/messages [wrong]:0
/var/log/messages [bad]:0
/var/log/messages [break]:4
/var/log/messages [panic]:0
/var/log/messages [abort.*]:0
/var/log/messages [disaster]:0
/var/log/messages [problem]:0
/var/log/messages [issue]:0
/var/log/messages [couldn't]:0
/var/log/messages [didn't]:0
/var/log/messages [wasn't]:0
/var/log/messages [shouldn't]:0
/var/log/messages [isn't]:0
/var/log/messages [don't]:0
/var/log/messages [is not]:2
/var/log/messages [did not]:0
/var/log/messages [die.*]:0
/var/log/messages [crash.*]:0
/var/log/messages [dump.*]:0
/var/log/messages [seg.*]:0
/var/log/messages [bug.*]:1
/var/log/messages [report.*]:0
/var/log/messages [status]:4

Ограничение небольших слов

Я Добавил этот фильтр sed для удаления пустых строк и 1 - 2 символьных слов, прежде чем Вы начнете сортировать и рассчитывать

... | sed -e '/^$/d' -e '/^[a-zA-Z]\{1,2\}$/d' | sort -f ...
2
27.01.2020, 20:52
  • 1
    Спасибо, узнавая о IFS был очень ценен! Используя sed немного прежде, и наблюдение Вы использовать его показываете, что это может быть довольно полезно, поскольку здесь это заботится о некоторых данных в конвейере... –   21.01.2014, 01:02

Теги

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