Я создаю таблицу в emacs org-mode команд sunrise-commander из файла .el (хочу создать шпаргалку). Список выглядит так:
/, j .......... go to directory
p, n .......... move cursor up/down
M-p, M-n ...... move cursor up/down in passive pane
^, J .......... go to parent directory
...
Я хочу превратить это в таблицу в режиме org в следующем формате:
| /, j | go to directory |
| p, n | move cursor up/down |
| M-p, M-n | move cursor up/down in passive pane |
| ^, J | go to parent directory |
...
Орг позаботится о расстоянии; Мне просто нужно "| команда | объяснение |"
Я не могу заставить sed заменить несколько периодов вертикальной чертой. Мои текущие попытки были такими:
cat in.org | sed -e 's/[.]*/|/g' > out.org
cat in.org | sed -e 's/[.]/|/g' > out.org
cat in.org | sed -e 's/[.*]/|/g' > out.org
Я уже использовал это для замены начальных и конечных пробелов вертикальными косыми чертами:
sed -e 's/^[ \t]*/|/g;s/[ \t]*$/|/g'|
Теперь мне просто нужно сделать то же самое для последовательности периодов. Боюсь, я недостаточно хорошо понимаю sed, чтобы заставить его трактовать периоды как период (и нацеливать их на большое число), а не рассматривать их как символы подстановки. Второй и третий трактуют каждый период как период, так как я получаю кучу вертикальных слешей.
Но первый, кажется, ставит черту между каждым отдельным персонажем, так что я не уверен, почему он это делает. Кажется, он снова начинает вести себя как подстановочный персонаж.
Спасибо за любую помощь.