Это, вероятно, произошло после обновления системы, и как временный файл обычно не нужны после перезагрузки, я попытался бы удалить файл.
fuser /tmp/tmpGTbWYh
С этой командой Вы видите, используется ли файл каким-либо процессом и даст Вам одно или несколько чисел (идентификатор Процесса, PID).
Никакие числа это означает процесс, не используются, и можно удалить безопасно файл
rm /tmp/tmpGTbWYh
Вышеупомянутое с пользователем, которые имеют права сделать это (Ваш пользователь? корень?), можно проверить это с ls
ls -l /tmp/tmpGTbWYh
Если файл используется каким-либо процессом, можно сделать PS и фильтр каждым PID, который Вы нашли с выполнением термофиксатора
ps -ef | grep $PID
Необходимо заменить $PID с числами, найденными выше (с термофиксатором).
В этой точке необходимо решить, можете ли Вы, определить, что приложение использует файл, и закройте его, если Вы можете, или уничтожать процесс (уничтожьте $PID), или удалите файл так или иначе (это, возможно, быть опасными).
Если Вы испытываете затруднения для решения, сообщают нам.
--include=PATTERN
только работы, когда Вы добавляете -r
$ grep -r --include='*.html' 'li' .
-R, -r, --recursive Read all files under each directory, recursively; this is equivalent to the -d recurse option.
--include=PATTERN Recurse in directories only searching file matching PATTERN.
--exclude=PATTERN Recurse in directories skip file matching PATTERN.
Оболочка, которую Вы используете (удар, tsh, zsh, и т.д.) продиктует командную строку globbing, который будет и не работать. Большинство людей использует удар, потому что он установлен по умолчанию на многих дистрибутивах - я использую удар.
Следующий синтаксис всегда работал на меня.
grep -r --include=*.html li *
Для включений нескольких расширений я использую расширение фигурной скобки удара.
grep -r --include=*.{html,htm,js} li *
Другие вещи попробовать, если Вы все еще испытываете затруднения
Выйдите * для защиты его, когда это будет проанализировано оболочкой
grep -r --include=\*.html li *
Сделайте путь поиска более явным
grep -r --include=\*.html li ./*
find $directoryname -maxdepth 1 -name '*.html' | xargs grep 'li'
Здесь -maxdepth 1
для поиска только в каталоге и не его подкаталогах. Если Вы хотите искать даже в подкаталоге, удаляют -maxdepth 1
в команде.
grep -version
не работает, но grep --version
дает
grep (GNU grep) 2.9
и оператор авторского права.
grep 'li' *.html
заставляет оболочку делать globbing, который не полезен для меня, так как я хочу рекурсивно вызвать.
Я первоначально попробовал команду -R
(или -r
) но это не работало также. Команда рекурсивно вызывает, но поднимает файлы без html
на имя (или где угодно на путь). Таким образом, это не это также.
Я отправил бы их как комментарии или редактирование в оригинал, но по некоторым причинам StackExchange правильно не связывает мою учетную запись. (Модификации: прокомментируйте-ify это!)
find . -name '*.html' | xargs grep -l 'li'
.
– Charles
22.12.2011, 09:04
xargs
заботится о файле, не найденном ошибками, теперь мне просто нужен некоторый 2>/dev/null
волшебство остановить ошибки в find
.
– Charles
22.12.2011, 09:08
xargs: argument line too long
ошибка; я не предполагаю, что существует легкая фиксация к этому?
– Charles
22.12.2011, 09:09