Ваш конкретный случай - извлечение текста между двумя шаблонами в строке / строке. Это было рассмотрено в вопросе 2012 года. Как использовать sed / grep для извлечения текста между двумя словами ?. В частности, как упоминалось в анишане, вы можете использовать обратные и обратные шаблоны с флагом Perl-regex -P. В вашем конкретном случае решение было бы
grep -o -P '(?<=\*\*).*(?=\*\*)' input.txt
Однако, как Как использовать sed / grep для извлечения текста между двумя словами? , -P GNU grep. Имейте это в виду, если вы портируете свои сценарии / команды между разными системами * nix.
Вместо того, чтобы пытаться использовать регулярное выражение Perl, давайте просто использовать Perl:
$ perl -a -F\\*\\* -lane 'print $F[1] if /\*\*/' input.txt
word
Это имеет два преимущества , Во-первых, он определяет разделитель для «полей», что означает, что мы можем обрабатывать отдельные элементы, разделенные **. Во-вторых, синтаксически это немного немного запутывает, чем обратный / обратный шаблон.
Конечно, есть и другие способы сделать это, и один из них - Python. Сценарий Python 2.7:
#!/usr/bin/env python
from __future__ import print_function
import sys
for f in sys.argv[1:]:
with open(f) as fd:
for line in fd:
if line.startswith('**'):
print(line.split('*')[2])
Вы также можете сделать его однострочным и использовать перенаправление stdin:
python -c 'import re,sys; print "\n".join([ l.split("**")[1] for l in sys.stdin if "**" in l ])' < input.txt
Другие, которые предпочитают регулярное выражение, могут захотеть используйте модуль re.
python -c 'import re,sys; print "\n".join([ re.split("\*\*",l)[1] for l in sys.stdin if "**" in l ])' < input.txt
Это зависит от вашей темы. Обычно это /path/to/your/icon/theme/directory/places/xx/folder.svg (или .png) или /path/to/your/icon/theme/directory/xx/places/folder.svg (xx обозначает разные размеры).
Каталоги тематических тем обычно расположены в /usr/share/icons/ (общесистемный) или ~/.icons/ (локальный) или ~/.local/share/icons/ (локальный).
На скриншоте кажется, что вы используете тему значка Adwaita. В этом случае вы должны найти значок в /usr/share/icons/Adwaita/xx/places/.
Это зависит от вашей темы. Обычно это /path/to/your/icon/theme/directory/places/xx/folder.svg (или .png) или /path/to/your/icon/theme/directory/xx/places/folder.svg (xx обозначает разные размеры).
Каталоги тематических тем обычно расположены в /usr/share/icons/ (общесистемный) или ~/.icons/ (локальный) или ~/.local/share/icons/ (локальный).
На скриншоте кажется, что вы используете тему значка Adwaita. В этом случае вы должны найти значок в /usr/share/icons/Adwaita/xx/places/.
Это зависит от вашей темы. Обычно это /path/to/your/icon/theme/directory/places/xx/folder.svg (или .png) или /path/to/your/icon/theme/directory/xx/places/folder.svg (xx обозначает разные размеры).
Каталоги тематических тем обычно расположены в /usr/share/icons/ (общесистемный) или ~/.icons/ (локальный) или ~/.local/share/icons/ (локальный).
На скриншоте кажется, что вы используете тему значка Adwaita. В этом случае вы должны найти значок в /usr/share/icons/Adwaita/xx/places/.