'man'二重引用符を二重バックティックと主人公としてレンダリングするには?

'man'二重引用符を二重バックティックと主人公としてレンダリングするには?

次のコマンドを実行するとき:

man bash

引用符は次のように表示されます。

``...''

なぜこれが起こるのかを説明する投稿があります。

しかし、強制する方法を見つけることができませんでした。男性または、デフォルトのポケットベルには、ASCII二重引用符( ")、太字またはバックティック/アポストロフィ文字を使用する以外のすべての文字が表示されます。

私のユースケースは、検索できるようにしたいということです。強く打つ一重引用符または逆引用符のマニュアルページは意味論的価値があることを示唆しており、意味論的ではない逆引用符/主要文字が複雑になり、これを困難にします。

LC_ALLをen_us.UTF-8からCに変更してみました。男性別のポケットベル/オプションを指定する-Pオプションがありますが、まだ解決策が見つかりませんでした。

私の環境はman 2.6.3、CentOS 7.2(3.10.0-327.13.1.el7.x86_64)、bash 4.2.46(1)、またはzsh 5.0.2です。

私が好むのは、次のような結果を生み出す解決策を見つけることです。男性二重引用符を ASCII 二重引用符文字 (") でレンダリングするか、引用符で囲まれた内容をリッチテキスト (下線または太字で表示) でレンダリングします。

方法にも同じことが当てはまります。男性一重引用符の内容を次のようにレンダリングします。`コンテンツ'

悪い解決策:

man bash | sed -e "s/\(''\|\`\`\)//g" -e "s/\`\([^']*\)/\1/g" | less

作り方を教えてください。男性バックティックとアポストロフィを含む引用符を表示しませんか?このソリューションはソフトウェアをインストールする必要はありません(つまり、ソリューションはCentOS 7.2最小インストールで動作する必要があります)。

ベストアンサー1

Bash のマニュアルページのバックティックは、一部のマクロの結果ではなく、 troff ソースコードに明示的に提供されるため、変更が困難です。ただし、特別な単一の逆引用符が引用されているため、\`この違いを使用するのではなく、ソース troff に sed を適用できます。

代わりに、 troff コマンドを追加してバックティックを別の文字に変換できます。このコマンドは、.tr AXBYすべてのAをXに変換し、BをYに変換します。だから

(echo '.tr `"'\''"'; zcat $(man -w bash)) | man /dev/stdin

バックティックと一重引用符を二重引用符に変換します。これにより、出力に必要な特別な単一のバックティックだけが残ります。もちろんthe pipeline"s return

全体的に「悪い解決策」であれば十分だと思います。

おすすめ記事