Как устранить ошибку «cinnamon-session-cinnamon failed»

grep -r "бананы" | вырезать -d: -f1 | xargs cat >> result.txt

grep

  • -r: рекурсивный. Рекурсивно прочитать все файлы в каждом каталоге,

Результат: имя_файла:текстдля каждой строки. Например, foo.txt:бананы.

Теперь нам нужно получить имя файла из каждой строки.

вырез Простой редактор для удаления части строки (вы можете использовать sedили awkздесь, но вырезать просто)

  • -dразделитель. Поскольку у нас есть :после файла, это наш разделитель: -d:
  • -fмы разделили наш вывод на поля. Какой взять? -f1-- первый!

xargs

Теперь у нас есть список файлов. Что делать с ними? Мы используем xargs, который создает и выполняет командные строки из стандартного ввода. Он принимает имя файла на стандартный ввод и запускает catдля каждой строки, предоставляя имя файла в качестве параметра. А catпросто выводит свое содержимое на стандартный вывод.

>>означает "добавить в файл"

1
13.01.2017, 09:36
2 ответа

Проблема заключается в вашем ~ / .profile , именно в этой строке:

export PATH='/usr/local/bin:$PATH'

Он должен быть записан в двойных кавычках:

export PATH="/usr/local/bin:$PATH"

Такая строка означает: определить переменную среды с именем PATH , содержимое которой равно / usr / local / bin: , за которым следует текущее значение PATH (то есть $ ПУТЬ ).

Если вы используете одинарные кавычки, значение PATH будет буквально / usr / local / bin: $ PATH и $ PATH больше не заменяется текущим значением. По сути, вы сужаете свой поиск по PATH до / usr / local / bin , что, помимо прочего, объясняет, почему x-terminal-emulator не найден.

1
28.01.2020, 01:04

Я исправил это, обновив всю систему и перезагрузив:

# apt-get update
# apt-get upgrade
# reboot
-1
28.01.2020, 01:04

Теги

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