Sto creando una tabella in emacs org-mode dei comandi sunrise-commander dal file .el (voglio fare un cheat sheet). La lista si presenta così:sed: sostituire più periodi con un altro carattere
/, 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
...
Voglio fare che in una tabella org-mode con questo formato:
| /, 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 si prenderà cura di spaziatura; Ho solo bisogno di "| comando | spiegazione |"
Non riesco a sedermi per sostituire più periodi con una barra verticale. I miei attuali tentativi sono stati in questo modo:
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
ho già usato questo per sostituire spazi iniziali e finali con barre verticali:
sed -e 's/^[ \t]*/|/g;s/[ \t]*$/|/g'|
Ora ho solo bisogno di fare lo stesso per una serie di periodi. Temo di non capire abbastanza bene da farlo trattenere periodi come un periodo (e bersagliare un blob di essi) piuttosto che trattarli come wildcard. Il secondo e il terzo trattano ogni periodo come un periodo, mentre finisco con un gruppo di barre verticali.
Ma il primo sembra solo mettere una barra vertiginosa tra ogni singolo personaggio, quindi non sono sicuro del perché lo stia facendo. Sembra che stia tornando a comportarsi come un personaggio jolly.
Grazie per qualsiasi aiuto.
Meraviglioso. Questo è stato il primo e ha funzionato alla grande. Ora che ci penso, la sintassi ha senso, anche se il mio problema era pensare che * fosse "match 1 o più", non 0 o più, nel qual caso avevi ragione: avevo bisogno di un periodo seguito da 0 o più periodi. – Hendy