Хотите поискать ошибки & ldquo; error & rdquo; string в файле журнала, за исключением некоторых строк, которые имеют & ldquo; error & rdquo; (мы должны игнорировать эти строки)

Вы можете использовать скрипт nautilus для этого:

#!/bin/bash

# Remove line feed at the end of the path
selectedPath="${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS%?}"

# Check if the selected file is a symbolic link
if [ -h "$selectedPath" ]; then
    symlinkPath=$( readlink "$selectedPath" )
else
    zenity --info --text="$( basename "$selectedPath" ) is not a symbolic link"
    exit 0
fi

# Copy the the symbolic link into the clipboard
echo "$symlinkPath" | xclip -selection clipboard

Подробнее о readlink -> nautilus script

Вы должны установить xclip для этого, если это еще не сделано.

1
задан 22 September 2017 в 10:10

3 ответа

Один (очень грубый) подход заключается в grep всех появлениях «ошибок»: grep -i "error" FILENAME

Объяснение:

-i: регистр нечувствителен к регистру (эквивалент RegEx - это [ f5]. "error": Фильтр для термина «ошибка» FILENAME: файл для поиска в

Затем отфильтруйте те, которые вы не хотите:

grep -Eiv "(LocalErrorPagePolicy|ErrorMapping|CustomErrorPagePolicy|error=ForceYes|Error details may be seen in the file:)" FILENAME

Объяснение:

-i: Нечувствительность фильтра к регистру (эквивалент RegEx - это флаг /i) -E: Интерпретировать шаблон как расширенное регулярное выражение (ERE, см. [F12] для получения дополнительной информации) "error": фильтр для термина «ошибка» -v: инвертировать смысл соответствия, выберите не соответствующие линии.

Для шаблона:

-E: интерпретировать шаблон как расширенное регулярное выражение (ERE, см. man grep для получения дополнительной информации) |: Символ трубы служит логическим or

. Это прерывается, чтобы «найти TERM1 ИЛИ TERM2 ИЛИ ... ИЛИ TERMX», а затем отбросить строки, где эти термины найдены.

Если мы добавим их вместе, мы получим:

grep -i "error" FILENAME | grep -Eiv (LocalErrorPagePolicy|ErrorMapping|CustomErrorPagePolicy|error=ForceYes|Error details may be seen in the file:)"

Чтобы проверить это, я создал очень маленькую dummy file:

LocalErrorPagePolicy
ErrorMapping
CustomErrorPagePolicy
error=ForceYes
Error details may be seen in the file:
Stackoverflowerror
I like errors
error error
LocalErrorErrorError
CustomErrorErrorPolicy
error=errorYes
I am a successfully output!

Результат после применения команды grep:

Stackoverflowerror
I like errors
error error
LocalErrorErrorError
CustomErrorErrorPolicy
error=errorYes

Как вы можете видеть, нежелательные термины были успешно отфильтрованы.

0
ответ дан 22 May 2018 в 18:14

Один (очень грубый) подход заключается в grep всех появлениях «ошибок»: grep -i "error" FILENAME

Объяснение:

-i: регистр нечувствителен к регистру (эквивалент RegEx - это /i. "error": Фильтр для термина «ошибка» FILENAME: файл для поиска в

Затем отфильтруйте те, которые вы не хотите:

grep -Eiv "(LocalErrorPagePolicy|ErrorMapping|CustomErrorPagePolicy|error=ForceYes|Error details may be seen in the file:)" FILENAME

Объяснение:

-i: Нечувствительность фильтра к регистру (эквивалент RegEx - это флаг /i) -E: Интерпретировать шаблон как расширенное регулярное выражение (ERE, см. [F12] для получения дополнительной информации) "error": фильтр для термина «ошибка» -v: инвертировать смысл соответствия, выберите не соответствующие линии.

Для шаблона:

-E: интерпретировать шаблон как расширенное регулярное выражение (ERE, см. man grep для получения дополнительной информации) |: Символ трубы служит логическим or

. Это прерывается, чтобы «найти TERM1 ИЛИ TERM2 ИЛИ ... ИЛИ TERMX», а затем отбросить строки, где эти термины найдены.

Если мы добавим их вместе, мы получим:

grep -i "error" FILENAME | grep -Eiv (LocalErrorPagePolicy|ErrorMapping|CustomErrorPagePolicy|error=ForceYes|Error details may be seen in the file:)"

Чтобы проверить это, я создал очень маленькую dummy file:

LocalErrorPagePolicy ErrorMapping CustomErrorPagePolicy error=ForceYes Error details may be seen in the file: Stackoverflowerror I like errors error error LocalErrorErrorError CustomErrorErrorPolicy error=errorYes I am a successfully output!

Результат после применения команды grep:

Stackoverflowerror I like errors error error LocalErrorErrorError CustomErrorErrorPolicy error=errorYes

Как вы можете видеть, нежелательные термины были успешно отфильтрованы.

0
ответ дан 18 July 2018 в 06:25

Один (очень грубый) подход заключается в grep всех появлениях «ошибок»: grep -i "error" FILENAME

Объяснение:

-i: регистр нечувствителен к регистру (эквивалент RegEx - это /i. "error": Фильтр для термина «ошибка» FILENAME: файл для поиска в

Затем отфильтруйте те, которые вы не хотите:

grep -Eiv "(LocalErrorPagePolicy|ErrorMapping|CustomErrorPagePolicy|error=ForceYes|Error details may be seen in the file:)" FILENAME

Объяснение:

-i: Нечувствительность фильтра к регистру (эквивалент RegEx - это флаг /i) -E: Интерпретировать шаблон как расширенное регулярное выражение (ERE, см. [F12] для получения дополнительной информации) "error": фильтр для термина «ошибка» -v: инвертировать смысл соответствия, выберите не соответствующие линии.

Для шаблона:

-E: интерпретировать шаблон как расширенное регулярное выражение (ERE, см. man grep для получения дополнительной информации) |: Символ трубы служит логическим or

. Это прерывается, чтобы «найти TERM1 ИЛИ TERM2 ИЛИ ... ИЛИ TERMX», а затем отбросить строки, где эти термины найдены.

Если мы добавим их вместе, мы получим:

grep -i "error" FILENAME | grep -Eiv (LocalErrorPagePolicy|ErrorMapping|CustomErrorPagePolicy|error=ForceYes|Error details may be seen in the file:)"

Чтобы проверить это, я создал очень маленькую dummy file:

LocalErrorPagePolicy ErrorMapping CustomErrorPagePolicy error=ForceYes Error details may be seen in the file: Stackoverflowerror I like errors error error LocalErrorErrorError CustomErrorErrorPolicy error=errorYes I am a successfully output!

Результат после применения команды grep:

Stackoverflowerror I like errors error error LocalErrorErrorError CustomErrorErrorPolicy error=errorYes

Как вы можете видеть, нежелательные термины были успешно отфильтрованы.

0
ответ дан 24 July 2018 в 18:36

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

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