где:
printf %s "$PATH"[114362] печатает содержимое [114363]$PATH[114364] без новой строки
RS=: [114366] изменяет символ входного разделителя записи (по умолчанию newline)
ORS=[114368] изменяет выходной разделитель записи на пустую строку
+---+---------------+------------+------------+
| | A | B | C |
+---+---------------+------------+------------+
| 1 | col1, line1a | | |
| | col1, line1b | | |
| | col1, line1c | col2, row1 | col3, row1 |
| 2 | col1, row2 | col2, row2 | col3, row2 |
+---+---------------+------------+------------+
a[114370] имя неявно созданного массива
"col1, line1a
col1, line1b
col1, line1c","col2, row1","col3, row1"
"col1, row2","col2, row2","col3, row2"
$0[114372] ссылки текущая запись
a[$0][114374] является ассоциативным разыменованием массива
NR[114380] текущего номера записи, начинающегося с 1
+---+---------------+------------+------------+
| | A | B | C |
+---+---------------+------------+------------+
| 1 | "col1, line1a | | |
| 2 | col1, line1b | | |
| 3 | col1, line1c" | col2, row1 | col3, row1 |
| 4 | col1, row2 | col2, row2 | col3, row2 |
+---+---------------+------------+------------+
Это означает, что AWK используется для разделения содержимого [113924]PATH[113925] вдоль разделительных символов [113926]:[113927] и для отфильтровывания дубликатов записей без изменения порядка.
Так как ассоциативные массивы AWK реализованы в виде хэш-таблиц, то время выполнения является линейным (i. e. в O(n)).
Обратите внимание, что нам не нужно искать символы в кавычках [113928]:[113929], так как оболочки [113930] не содержат кавычек[113931] для поддержки каталогов с [113932]:[113933] в имени в переменной [113934]PATH[113935].
Awk + insert
Вышеизложенное можно упростить вставкой:
работает для меня. Попробуйте разместить курсор внутри уравнения и ударить C-C C-X C-L
.
Это ярлык по умолчанию для ORG-Preview-LaTex-фрагмента. C-C C-X C-L
будет генерировать предварительный просмотр, и C-C C-C
вернется к вашему исходному коду. Вы также можете напечатать M-X ORG-Preview-laTex-фрагмент
. И если вы когда-нибудь забудете, просто нажмите кнопку [TAB] в любое время после удара M-X, чтобы получить список возможных команд. Вы также можете поразить C-G
, чтобы отменить все.
Здесь - это ссылка на соответствующую документацию.