Я позволил бы Bash интерполировать значения для Вас вместо того, чтобы пытаться записать регулярное выражение, чтобы сделать то же (или усилить некоторую систему шаблонной обработки).
echo $(eval echo $(cat sql.sql))
Где sql.sql содержит допустимую строку удара (поэтому монтируйте в корпус его в двойных кавычках):
"SELECT
(SELECT COUNT(*) FROM metrics WHERE(organization_id = o.id AND year = ${sql_year})) AS metrics,
(SELECT COUNT(*) FROM my_metrics WHERE(organization_id = o.id)) AS quarterly_metrics,
(SELECT COUNT(*) FROM quarterly_metrics WHERE(organization_id = o.id AND year = ${sql_year})) AS quarterly_metrics,
(SELECT COUNT(*) FROM quarterly_text_metrics WHERE(organization_id = o.id AND year = ${sql_year})) AS quarterly_text_metrics,
(SELECT COUNT(*) FROM budgets WHERE(organization_id = o.id AND year = ${sql_year})) AS budgets,
(SELECT COUNT(*) FROM goals WHERE(goalable_type = 'Organization' AND goalable_id = o.id AND year = ${sql_year})) AS goals
FROM
organizations AS o
WHERE
o.id = ${sql_org_id}
;"
Да, у него есть имя значка: INODE-FIFO
. Название значка обычно соответствует типу MIME, в этом случае INODE / FIFO
.
И да, вы не можете найти его в официальных документах, потому что спецификация не перечисляет все возможные имена значков, он только предназначен для (подчеркивает шахту):
lay out a standard naming scheme for icon creation, as well as providing a minimal list of must have icons.
простой способ определить имя значка для определенного типа MIME - это через Gio
:
gio info -a standard::icon LOCATION
(на более старых установках заменить Gio Info
с GVFS-info
)
mkfifo namedpipe
gvfs-info -a standard::icon namedpipe
uri: file:///home/don/testdir/namedpipe
attributes:
standard::icon: inode-fifo, inode-x-generic
Так что стандартное имя значка inode-FIFO
] И общее имя inode-x-универсальный
. Если inode-fifo.png
отсутствует в вашем значке, то будет использоваться inode-x-generic.png
. Если это тоже отсутствует, будет использоваться имя иконка Foxback E.g. Gnome-fs-rangory.png
.