Действительно ли xfstt необходим?

Для первой части отметьте это xargs только работы, при отсутствии пробельных символов или \'" в Ваших именах файлов. Посмотрите, Как искать слово во всем содержании каталога в Linux для объяснения и альтернативы.

Кроме того, всегда помещаемые двойные кавычки вокруг подстановок переменных: "$path". Без двойных кавычек оболочка разворачивает пробел и подстановочные знаки в значении $path, так использование его закрыло кавычки повреждения, если у Вас есть пробел или подстановочные знаки в том имени файла. То же идет для $pattern (только для смеха, попытайтесь пропустить кавычки и искать h* в каталоге, содержащем названные файлы hi и hello).

Если Ваша версия grep имеет -r опция пересечь каталоги рекурсивно, Вам не нужно find здесь. -r опция присутствует на Linux, FreeBSD,  Mac OS X и Cygwin среди других. Иначе:

find "$path" -type f -exec grep -Hn "$pattern" {} + | awk -F: '{print $1 ":" $2}'

Я зафиксировал Ваш awk звоните выше, также, так, чтобы это распечатало только имя файла и номера строки. Я также передаю -H опция к grep, гарантировать, что это всегда печатает имя файла, даже если, оказывается, существует единственный файл. Этот код предполагает, что Ваши имена файлов не содержат : или новые строки; если бы они могли бы, вещи, которые будут сложными, и Вы лучше или полагались бы на grep's GNU -Z опция или процесс файлы индивидуально:

find "$path" -type f -exec sh -c 'for x; do grep -n "$0" <"$x" | awk -v fn="$x" -F: 'print fn ":" $1'; done' "$pattern" {} +

1
17.11.2012, 00:55
1 ответ

xfstt "Сервер Шрифта X11 для Истинных Печатных шрифтов", поэтому если Вы не хотите необычные шрифты, не удаляйте его. X11 может повредиться без него.

1
27.01.2020, 23:54
  • 1
    OK. Спасибо, но вчера я попытался удалить использование apt-get remove. Начиная с этого все работает до сих пор. Я не вижу изменения на своем ноутбуке. Возможно, Lubuntu не использует этот сервер шрифта. Позволяет посмотрите. –  Sigur 17.11.2012, 16:20

Теги

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