Похоже, что qemu проблема контурной карты может работаться вокруг в коде путем добавления к qemu пути поиска с -L
. Я думаю, что это изменение кода GitHub фиксирует его.
При использовании переменных оболочки можно сохранить пробелы (более точно, препятствовать тому, чтобы значения были разделены на слова на основе символов разделителя полей, которые перечисляются в переменной оболочки $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
Есть ли какие-либо рекомендации для того, чтобы визуально представить вывод, или есть ли инструмент, который обеспечивает дальнейшую функциональность или для поиска или для форматирования данные слова и количество?
Существует набор приложений там, которые будут сканировать и суммировать интересные случаи в файлах журнала, некоторые освобождают, некоторая реклама. Я не уверен, что нам разрешают дать широкие рекомендации, но если бы можно дать примеры запросов, требуется сделать или выходные форматы, которые требуется видеть, возможно, мы можем ответить на те типы вопросов.
Сохраните пробел путем изменения Поля Интера 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 ...
sed
немного прежде, и наблюдение Вы использовать его показываете, что это может быть довольно полезно, поскольку здесь это заботится о некоторых данных в конвейере...
–
21.01.2014, 01:02
grep ..
в течение долгого времени, и будет читать больше о IFS и особенно как двойные кавычки приостанавливают ее как Вы, сделал здесь. Затем работа над конвейером была и проста и включение и заботится и о единственных и о двойных значениях символов, также удаляя отдельные проявления. Все это в 12 символах!Удачи. – 21.01.2014, 01:52