Мне не удалось заставить его работать в fstab. Единственное, что сработало, - это rc.local (который находится в странном месте в centos 7):
#Edit the startup script
vi /etc/rc.d/rc.local
#Add the line (at the end):
sharedfoldername /webapps/apps/destfolder vboxsf rw,uid=48,gid=48 0 0
#Make it executable: (This is required in CentOS 7)
chmod +x /etc/rc.d/rc.local
Затем перезагрузитесь.
Благодаря этому: http://www.joe0.com/2016/01/03/how-to-automatically-run-script-at-boot-time-in-centos-7/
Моей первой мыслью было сначала найти файлы, содержащие word1
, а затем искать среди них файлы, содержащие word2
. Было бы:
grep -l word1 -r. | xargs grep -l word2
Пример:
$ cat FILE
word1
$ cat FILE1
word2
$ cat FILE2
word1
word2
$ grep -l word1 -r. | xargs grep -l word2
FILE2
Протестировано с пользовательским пространством GNU
и FreeBSD
.
Я бы использовал функцию find
, когда каждый тест должен пройти, чтобы файл считался совпадающим. Соедините две команды grep
вместе, чтобы они соответствовали критериям :
find. -type f -exec grep -q word_one {} \; -exec grep -l word_two {} \;
Вы можете настроить флаги для grep по мере необходимости, в том числе заключать слова в кавычки, если они содержат какие-либо оболочки -специальные или регулярные выражения -специальные символы (или использоватьgrep -F
).
Вам бы не помешалоgrep
:
grep -Elrz "word2(.|\n)*word1|word1(.|\n)*word2".
Если вам нужно, чтобы на выходе отображался совпадающий контент, удалите параметр l
выше.
Как искать файлы, в которых есть два разных слова? имеет много хороших решений вашей основной проблемы. Чтобы выполнить дополнительное требование для отображения контекста, нам нужно взять только один из этих ответов (, например, ответ Стефана)и добавить к нему немного:
find. -type f -exec grep -q word1 {} ';' -exec grep -q word2 {} ';' \
-exec grep -A3 -B3 -E -H 'word1|word2' {} +
Часть find. -type f -exec grep -q word1 {} ';' -exec grep -q word2 {} ';'
это просто второй ответ Стефана (портативный, но простой )с опцией -l
на второйgrep
(для списка имен файлов )заменено на-q
(для поиска и тихого выхода со статусом ). Затем мы добавляем последний grep
для отображения результатов. -A3
и -B3
показывают три строки после и три строки перед каждым совпадением; отрегулируйте их на свой вкус. -E
необходим для получения расширенного регулярного выражения word1|word2
работать без \
; -H
заставляет grep
печатать имя файла, даже если имеется только один файл.