Что является символом с linux

Что является символом с linux

Некоторые символы имеют для редактора особое значение. К ним относятся: «.», «\», «$», «*», «[«, «]», «^», «&». Эти символы обычно называются метасимволами.

6.16.1. Метасимвол . (точка)

В зависимости от контекста символ «.» имеет несколько значений. lin В левой части команды подстановки и при поиске с помощью конструкции «/. /» символ «.» означает любой одиночный символ. Таким образом, в результате поиска будут найдены строки текста, содержащие символы «x» и «y», между которыми находится любой символ, например:

Символ «.», используемый для указания номера строки обозначает текущую строку.

Примеры. замена символа «a» на символ «,» в строке, следующей за текущей. Символ «.», записанный в правой части команды замены «s», не имеет специального значения; замена символа «,» на символ «.» в строках с 1-й по 5-ю включительно.

Команда : иллюстрирует все значения символа «.». Первая «.» в команде — это номер текущей строки, вторая «.» это метасимвол, который соответствует любому одному символу данной строки, третья «.» — это настоящая точка в команде замены.

Такая команда, примененная, например к строке: дает результат:

6.16.2. Метасимвол \ (обратная дробная черта)

Обратная дробная черта (или обратный слэш) отменяет специальное значение, которое может иметь следующий за ней символ, в частности, «\.» означает точку, а не «любой символ». Примеры. замена символа «.» на символ «?»; поиск строк, содержащих «.pp»; поиск символа «\»; поиск символа «/»; удаление в текущей строке последовательности символов «.».

Для разделения полей в команде «s» может использоваться любой символ, а не только дробная черта (однако для контекстного поиска требуется использовать дробную черту). Например, если строка уже содержит много символов дробной черты, как в строке: то можно использовать в качестве разделителей символ «:» (двоеточие). Удалить все символы дробной черты можно с помощью команды:

Если для стирания символов и удаления строк используются клавиши «#» и «@», их нужно вводить в виде «\#» и «\@» (это относится не только к работе с ed).

Если текст вводится с помощью одной из команд: «a», «i» или «c», то символ обратной дробной черты не является специальным, и требуется нажимать эту клавишу только один раз для каждой обратной дробной черты.

6.16.3. Метасимвол $ (денежный знак)

В зависимости от того, как используется знак денежной единицы ($), он может обозначать конец файла или конец строки. Когда указывается диапазон (от строки 1 до строки $), совершенно ясно, что речь идет о конце файла. «1, $p» вызовет распечатку всего файла. Но запись «s/$/./p» указывает, что точка будет помещена в конце текущей строки.

В команде: первый символ «$» означает последнюю строку файла, второй означает конец этой строки, а третий действительно является символом денежной единицы, который добавляется к указанной строке.

6.16.4. Метасимвол ^ (отрицание)

Метасимвол «^» применяется так же, как метасимвол «$», за исключением того, что он указывает начало строки, а не конец.

Примеры. поиск строки, начинающейся со слова «время»; поместить пробел в начало текущей строки.

Метасимволы можно объединять. Например, для того, чтобы найти строку, содержащую только символы «pp» можно использовать команду: /^.pp$/

6.16.5. Метасимвол * (звездочка)

Метасимвол «*» означает, что символ, за которым он следует, может повторяться произвольное число раз.

Если в тексте имеется большое количество пробелов, их можно сжать, например: В результате выполнения команды: получим:

Если скомбинировать точку и *, то можно сопоставить все символы. С помощью этой комбинации можно, например, заменить все символы в последней части строки: ed автоматически запоминает последнюю строку символов в шаблоне поиска или замененный текст. Однако вы должны подсказать ed, что нужно повторить замену, используя знак «%». Знак «%» позволяет вам сделать одинаковую замену во многих строках, не используя глобальной замены. Например, заменим слово money на слово gold, повторим последнюю замену в строках от 1 до 3:

ed автоматически запоминает слово money, так что строка не будет повторена между первыми двумя ограничителями. Знак «%» говорит ed — использовать последний шаблон для замены (gold).

Читайте также:  Kyocera fs 1120d драйвер для linux

6.16.6. Метасимволы [] (квадратные скобки)

Метасимволы «[]» позволяют определить подмножество символов, которые необходимо распознавать при выполнении операции поиска или подстановки. Запись группы символов, заключенных в квадратные скобки, означает: «любой одиночный символ из указанных». Например, если «[0123456789]», это будет означать: «любая цифра». Можно записать и короче: «2». Запись двух символов, разделенных знаком минус, означает задание интервала в

лексикографической последовательности символов. Так, запись «[А-Я]» означает: «прописная русская буква», а запись: «[a-z] [a-z0-9]*» означает последовательность латинских букв и цифр, начинающуюся с буквы.

Указание в начале класса символа «^» означает «ни один из следующих символов». Например: обозначает «любой символ, за исключением цифры».

Примеры. удаление всех цифр в начале каждой строки; поиск первой строки, не начинающейся символом пробела или табуляции.

Внутри класса символов могут присутствовать любые символы и, чтобы избежать путаницы, в квадратных скобках символы принципиально не имеют специального значения. Например, чтобы найти специальные символы, можно использовать команду: Внутри «[. ]» символ «[» не является специальным. Чтобы включить символ «]» в класс символов, нужно указать его первым.

6.16.7. Метасимвол & (амперсенд)

Символ «&» используется в первую очередь для сокращения вводимого текста.

Предположим, имеется строка: и требуется преобразовать ее в строку: конечно, для этого можно воспользоваться командой: однако требование повторно указывать слово «ВРЕМЯ» кажется неразумным. Для того, чтобы избежать этого повторения, используется символ «&». В правой части команды подстановки амперсенд означает «найденный текст», так что можно ввести команду: где «&» будет означать «ВРЕМЯ». Конечно, в данном примере экономия будет незначительной, однако если количество символов велико или представляет собой нечто вроде «.*», которому соответствует большой кусок текста, экономится много вводимых символов. Снижается также вероятность совершения ошибки при вводе заменяющего текста. Например, для того, чтобы заключить в скобки строку, независимо от ее длины, можно использовать команду:

Амперсенд может встречаться в правой части команды несколько раз. Команда: построит строку: а команда: преобразует исходную строку в:

Чтобы получить настоящий символ «&», используется обратная дробная черта для отмены его специального значения. Команда: заменит слово «амперсенд» на символ «&». Обратите внимание на то, что символ «&» является специальным только в правой части команды, в левой части он не имеет специального значения.

Источник

Что является символом с linux

Некоторые символы имеют для редактора особое значение. К ним относятся: «.», «\», «$», «*», «[«, «]», «^», «&». Эти символы обычно называются метасимволами.

6.16.1. Метасимвол . (точка)

В зависимости от контекста символ «.» имеет несколько значений. lin В левой части команды подстановки и при поиске с помощью конструкции «/. /» символ «.» означает любой одиночный символ. Таким образом, в результате поиска будут найдены строки текста, содержащие символы «x» и «y», между которыми находится любой символ, например:

Символ «.», используемый для указания номера строки обозначает текущую строку.

Примеры. замена символа «a» на символ «,» в строке, следующей за текущей. Символ «.», записанный в правой части команды замены «s», не имеет специального значения; замена символа «,» на символ «.» в строках с 1-й по 5-ю включительно.

Команда : иллюстрирует все значения символа «.». Первая «.» в команде — это номер текущей строки, вторая «.» это метасимвол, который соответствует любому одному символу данной строки, третья «.» — это настоящая точка в команде замены.

Такая команда, примененная, например к строке: дает результат:

6.16.2. Метасимвол \ (обратная дробная черта)

Обратная дробная черта (или обратный слэш) отменяет специальное значение, которое может иметь следующий за ней символ, в частности, «\.» означает точку, а не «любой символ». Примеры. замена символа «.» на символ «?»; поиск строк, содержащих «.pp»; поиск символа «\»; поиск символа «/»; удаление в текущей строке последовательности символов «.».

Для разделения полей в команде «s» может использоваться любой символ, а не только дробная черта (однако для контекстного поиска требуется использовать дробную черту). Например, если строка уже содержит много символов дробной черты, как в строке: то можно использовать в качестве разделителей символ «:» (двоеточие). Удалить все символы дробной черты можно с помощью команды:

Если для стирания символов и удаления строк используются клавиши «#» и «@», их нужно вводить в виде «\#» и «\@» (это относится не только к работе с ed).

Если текст вводится с помощью одной из команд: «a», «i» или «c», то символ обратной дробной черты не является специальным, и требуется нажимать эту клавишу только один раз для каждой обратной дробной черты.

Читайте также:  Сбой операционной системы при загрузке windows

6.16.3. Метасимвол $ (денежный знак)

В зависимости от того, как используется знак денежной единицы ($), он может обозначать конец файла или конец строки. Когда указывается диапазон (от строки 1 до строки $), совершенно ясно, что речь идет о конце файла. «1, $p» вызовет распечатку всего файла. Но запись «s/$/./p» указывает, что точка будет помещена в конце текущей строки.

В команде: первый символ «$» означает последнюю строку файла, второй означает конец этой строки, а третий действительно является символом денежной единицы, который добавляется к указанной строке.

6.16.4. Метасимвол ^ (отрицание)

Метасимвол «^» применяется так же, как метасимвол «$», за исключением того, что он указывает начало строки, а не конец.

Примеры. поиск строки, начинающейся со слова «время»; поместить пробел в начало текущей строки.

Метасимволы можно объединять. Например, для того, чтобы найти строку, содержащую только символы «pp» можно использовать команду: /^.pp$/

6.16.5. Метасимвол * (звездочка)

Метасимвол «*» означает, что символ, за которым он следует, может повторяться произвольное число раз.

Если в тексте имеется большое количество пробелов, их можно сжать, например: В результате выполнения команды: получим:

Если скомбинировать точку и *, то можно сопоставить все символы. С помощью этой комбинации можно, например, заменить все символы в последней части строки: ed автоматически запоминает последнюю строку символов в шаблоне поиска или замененный текст. Однако вы должны подсказать ed, что нужно повторить замену, используя знак «%». Знак «%» позволяет вам сделать одинаковую замену во многих строках, не используя глобальной замены. Например, заменим слово money на слово gold, повторим последнюю замену в строках от 1 до 3:

ed автоматически запоминает слово money, так что строка не будет повторена между первыми двумя ограничителями. Знак «%» говорит ed — использовать последний шаблон для замены (gold).

6.16.6. Метасимволы [] (квадратные скобки)

Метасимволы «[]» позволяют определить подмножество символов, которые необходимо распознавать при выполнении операции поиска или подстановки. Запись группы символов, заключенных в квадратные скобки, означает: «любой одиночный символ из указанных». Например, если «[0123456789]», это будет означать: «любая цифра». Можно записать и короче: «4». Запись двух символов, разделенных знаком минус, означает задание интервала в

лексикографической последовательности символов. Так, запись «[А-Я]» означает: «прописная русская буква», а запись: «[a-z] [a-z0-9]*» означает последовательность латинских букв и цифр, начинающуюся с буквы.

Указание в начале класса символа «^» означает «ни один из следующих символов». Например: обозначает «любой символ, за исключением цифры».

Примеры. удаление всех цифр в начале каждой строки; поиск первой строки, не начинающейся символом пробела или табуляции.

Внутри класса символов могут присутствовать любые символы и, чтобы избежать путаницы, в квадратных скобках символы принципиально не имеют специального значения. Например, чтобы найти специальные символы, можно использовать команду: Внутри «[. ]» символ «[» не является специальным. Чтобы включить символ «]» в класс символов, нужно указать его первым.

6.16.7. Метасимвол & (амперсенд)

Символ «&» используется в первую очередь для сокращения вводимого текста.

Предположим, имеется строка: и требуется преобразовать ее в строку: конечно, для этого можно воспользоваться командой: однако требование повторно указывать слово «ВРЕМЯ» кажется неразумным. Для того, чтобы избежать этого повторения, используется символ «&». В правой части команды подстановки амперсенд означает «найденный текст», так что можно ввести команду: где «&» будет означать «ВРЕМЯ». Конечно, в данном примере экономия будет незначительной, однако если количество символов велико или представляет собой нечто вроде «.*», которому соответствует большой кусок текста, экономится много вводимых символов. Снижается также вероятность совершения ошибки при вводе заменяющего текста. Например, для того, чтобы заключить в скобки строку, независимо от ее длины, можно использовать команду:

Амперсенд может встречаться в правой части команды несколько раз. Команда: построит строку: а команда: преобразует исходную строку в:

Чтобы получить настоящий символ «&», используется обратная дробная черта для отмены его специального значения. Команда: заменит слово «амперсенд» на символ «&». Обратите внимание на то, что символ «&» является специальным только в правой части команды, в левой части он не имеет специального значения.

Источник

Что такое метасимволы Linux и как вы их используете

Узнайте, как метасимволы Linux расширяют использование инструментов командной строки

Согласно Википедии, метасимвол – это любой символ, имеющий особое значение, например, карат (^), знак доллара ($) или звездочка (*).

С точки зрения Linux, существует множество таких метасимволов, и их значения различаются в зависимости от того, какую команду или программу Linux вы используете.

Полная остановка как метасимвол (.)

Скромный полный останов используется для указания текущей позиции при запуске таких команд, как cd, find или sh, но в таких приложениях, как awk, grep и sed, это подстановочный знак, используемый для обозначения определенного числа любого символа.

Читайте также:  Во сколько можно будет установить windows 10

Например, следующая команда найдет все mp3-файлы в текущей папке и ее подпапках.

Если вы выполните эту команду в своем текущем рабочем каталоге (pwd), вы, вероятно, увидите возвращенные результаты, при условии, что вы храните ваши mp3-файлы в папке музыки в вашей домашней папке.

Теперь посмотрите на эту команду:

Команда ps выводит список всех запущенных процессов на вашем компьютере. Команда grep берет строки ввода и ищет шаблон.

Поэтому команда ps -ef возвращает список запущенных процессов. Метасимвол pipe (|) отправляет этот список в команду grep, которая ищет любую строку в списке, содержащую «f..efox», где точка относится к двум любым символам.

Если у вас запущен Firefox, вы получите совпадение. Точно так же, если у вас запущена программа с именем fonefox или freefox, они также будут возвращены.

Если вы знаете, что вам нужно искать только один символ, а не использовать “.” метасимвол, вы можете использовать «?». С помощью “?” относится к любому отдельному символу либо в начале, либо в конце шаблона.

Звездочка как метасимвол (*)

Звездочка является более широко известным метасимволом и используется для обозначения нуля или более любого символа при поиске шаблона.

* .Mp3 возвращает совпадение для любого имени файла, заканчивающегося на .mp3. Точно так же я мог бы использовать звездочку с командой grep в последнем разделе следующим образом:

Стоит отметить, что это немного отличается, потому что звездочка означает ноль или более, поэтому, кроме поиска Firefox, Facefox и Fonefox, он также может найти Flutefox, Ferretfox и даже просто Fefox.

Карат как метасимвол (^)

Карат (^) используется для обозначения начала строки или строки. Так как это используется?

Команда ls используется для вывода списка всех файлов в папке следующим образом:

Если вы хотите знать все файлы в папке, которая начинается с определенной строки, такой как «gnome», тогда для указания этой строки можно использовать карат.

Обратите внимание, что здесь перечислены только файлы, начинающиеся с gnome. Если вам нужны файлы с гномом в любом имени файла, вам следует вернуться к использованию звездочки.

В приведенном выше примере ls возвращает список имен файлов и передает этот список команде grep, которая используется для сопоставления с образцом. Grep знает, что символ карата означает найти все, что начинается с символов, следующих за ним, и в данном случае это «гном».

Символ доллара как метасимвол ($)

Символ доллара может иметь несколько значений в качестве метасимвола в Linux.

При использовании для сопоставления с образцами это означает противоположность каратам и обозначает любой образец, который оканчивается определенной строкой.

В этом списке перечислены все файлы, заканчивающиеся на png .

Символ доллара также используется для доступа к переменным среды в оболочке bash.

Строка export dog = molly создает переменную среды с именем dog и устанавливает ее значение «molly». Для доступа к переменной среды используется символ $. С символом $ оператор echo $ dog отображает «molly». Без этого оператор echo dog просто отображает слово dog.

Метасимволы (\\)

Иногда вы не хотите, чтобы метасимвол имел особое значение. Например, рассмотрим, есть ли у вас файл с именем f.refox и файл с именем firefox .

Теперь посмотрим на следующую команду:

Как вы думаете, что возвращается? И f.refox, и firefox возвращаются, потому что они оба соответствуют шаблону.

Чтобы вернуть только f.refox, вам нужно будет выйти из полной остановки, чтобы фактически означать полную остановку следующим образом:

Скобки как метасимвол ([])

Вы можете использовать скобки при поиске материалов. Скобки позволяют указать конкретные буквы, которые вы хотите сопоставить в любом месте шаблона.

В этом списке перечислены все файлы, которые начинаются с букв a, b или c.

Вы можете использовать скобки в начале, конце или даже в середине шаблона поиска.

Если вы хотите искать большой диапазон букв, вы можете вместо этого использовать символ переноса (-). Например, ls [a-h] * вернет все файлы, которые начинаются с любой буквы от a до h.

Метасимвол Акцента Могила

Во всех приведенных выше примерах метасимвол канала использовался для отправки результатов одной команды (например, команды ls) другой команде (например, команды grep).

Альтернативный способ сделать это – использовать обратную кавычку (также известную как акцентная могила), чтобы вставить результаты одной команды в другую команду.

Сначала будет запущена команда which jpg , чтобы определить, в каком каталоге находятся файлы jpg, и результаты этого поиска будут переданы команде ls , которая перечислит все из этих файлов.

Источник

Оцените статью