Как найти точную строку без ведущих и концевых символов

cd /etc/shinken/services
rm ./~

Об этом особо нечего сказать. Указав ./перед ~, вы запрещаете оболочке выполнять расширение с помощью тильды, и оно будет рассматриваться как имя файла в текущем каталоге.

Другим вариантом было бы

cd /etc/shinken/services
rm '~'

или просто

rm /etc/shinken/services/~

В Vi и Vim :xбудет работать как :wqи запишет файл перед выходом. При добавлении имени файла (в данном случае ~) будет записан файл с заданным именем. Разница между этими двумя командами заключается в том, что :xзаписывает файл только в том случае, если текущий буфер был изменен с момента последнего сохранения. ! отменяет запись в файл, доступный только для чтения.

0
15.09.2017, 22:58
1 ответ

Если вы используете 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?'
2
28.01.2020, 02:33

Теги

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