Я делаю таблицу в 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
...
Я хочу превратить это в таблицу режима организации с таким форматом:
| /, 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, чтобы заставить его обрабатывать периоды как точку (и нацеливать их на капли), а не рассматривать их как подстановочные знаки. Второй и третий рассматривают каждый период как период, так как я получаю кучу вертикальных косых черт.
Но первая, кажется, просто ставит вертикальную косую черту между каждым отдельным символом, так что я не уверен, зачем она это делает. Похоже, он снова начинает действовать как подстановочный знак.
Спасибо за любую помощь.