[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: install-info
uebayasi@soum.co.jp wrote:
> Info のエントリ名に空白が入っていると install-info がそのエントリを
> --remove できません。install-info のバグなんですが、回避策としてエント
> リ名中の空白を消し('-' で置き換え)たいのです。具体的には
> * CC Mode: (cc-mode). Emacs mode for editing C, C++, Objective-C,
> Java, Pike, and IDL code.
> を
> * CC-Mode: (cc-mode). Emacs mode for editing C, C++, Objective-C,
> Java, Pike, and IDL code.
> などとしたいのです。
perlとかrubyは禁止ですよね。
gawkで、
awk '
/^[ \t]*\*/ {
n = split($0, a, /:/)
match(a[1], /^[ \t]*\*[ \t]*/)
h = substr(a[1], RSTART, RLENGTH)
b = substr(a[1], RSTART + RLENGTH)
gsub(" ", "-", b)
printf("%s%s", h, b)
for (i = 2; i <= n; i++) {
printf(":%s", a[i])
}
}
!/^[ \t]*\*/ {print $0}
'
とか考えてみました。
失敗作
sed -e 's/^\([ \t]*\*[ \t]*\)\([^:]*\)\(:.*\)/a1="\1"; a2="\2"; a3="\3"; echo "\$a1\`echo \$a2|sed -e "s\/ \/-\/g"`\$a3"; /'|sh
sakamoto