Ich mache eine Tabelle in Emacs Org-Modus von Sonnenaufgang-Commander-Befehle aus der .el-Datei (wollen einen Spickzettel machen). Die Liste sieht wie folgt aus:sed: Ersetze mehrere Punkte durch ein anderes Zeichen
/, 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
...
ich, dass in ein org-Modus Tabelle mit diesem Format machen wollen:
| /, 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 wird der Abstand kümmern; Ich brauche nur "| Befehl | Erklärung |"
Ich kann sed nicht erhalten, um mehrere Perioden durch einen vertikalen Schrägstrich zu ersetzen. Mein aktueller Versuche so gewesen:
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
Ich habe dies bereits ersetzen führende und nachfolgende Leerzeichen mit vertikalen Schrägstriche:
sed -e 's/^[ \t]*/|/g;s/[ \t]*$/|/g'|
Jetzt gerade muss ich das gleiche für eine Reihe von Perioden. Ich fürchte, ich verstehe sed nicht gut genug, um Perioden wie eine Periode zu behandeln (und auf einen Haufen davon zu zielen), anstatt sie als Wildcards zu behandeln. Die zweite und dritte behandeln jede Periode wie eine Periode, als ich mit einer Reihe von vertikalen Schrägstrichen enden.
Aber die ersten scheinen nur einen vert Schrägstrich zwischen jedem einzelnen Zeichen zu setzen, also bin ich nicht sicher, warum es das tut. Es scheint, als würde es sich wieder wie ein Wildcard-Charakter verhalten.
Danke für jede Hilfe.
Wunderbar. Das war zuerst und hat super funktioniert. Nun, da ich darüber nachdenke, macht die Syntax Sinn, obwohl mein Problem war, dass * "Übereinstimmung 1 oder mehr" war, nicht 0 oder mehr. In diesem Fall hatten Sie Recht: Ich brauchte einen Punkt gefolgt von 0 oder mehr Punkten. – Hendy