我正在製作一個emacs org模式的日出指揮官命令從.el文件(想做一個備忘單)的表。名單如下:sed:用另一個字符替換多個句點
/, 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'|
現在我只需要爲一個字符串做同樣的週期。恐怕我不能很好地理解它,把它看作是一段時期(並且瞄準一個時期)而不是把它們當作通配符來對待。第二個和第三個處理每個時期像一個時期,因爲我結束了一堆垂直斜線。
但是第一個似乎是在每個單個字符之間放置一個垂直斜線,所以我不確定它爲什麼會這樣做。看起來它會像通配符那樣行事。
感謝您的任何幫助。
很好。這是第一次,工作很好。現在我想到了,語法是有道理的,儘管我的問題是認爲*是「匹配1或更多」,而不是0或更多,在這種情況下,您是正確的:我需要一段時間,後面跟着0或更多的時間段。 – Hendy 2010-11-12 23:00:27