cd /etc/shinken/services
rm ./~
Об этом особо нечего сказать. Указав ./
перед ~
, вы запрещаете оболочке выполнять расширение с помощью тильды, и оно будет рассматриваться как имя файла в текущем каталоге.
Другим вариантом было бы
cd /etc/shinken/services
rm '~'
или просто
rm /etc/shinken/services/~
В Vi и Vim :x
будет работать как :wq
и запишет файл перед выходом. При добавлении имени файла (в данном случае ~
) будет записан файл с заданным именем. Разница между этими двумя командами заключается в том, что :x
записывает файл только в том случае, если текущий буфер был изменен с момента последнего сохранения. !
отменяет запись в файл, доступный только для чтения.
Если вы используете GNU grep
, вы можете найти целое слово с опцией -w
и указать несколько шаблонов:
grep -w -e apple -e appleY -e pie -e pieY
Вы также можете объединить их в одно регулярное выражение:
grep -w 'appleY\?\|pieY\?'
Здесь Y?
означает «необязательно, за которым следует Y»
Вы можете избавиться от экранирования, используя расширенные регулярные выражения с параметрами -E
:
grep -w -E 'appleY?|pieY?'