はてブロ@ama_ch

https://twitter.com/ama_ch

「man コマンド名 > ファイル名」した時の出力がおかしい?

「そういえばsudoコマンドって何?」と思って

man sudo > sudo.txt

を実行して、「open sudo.txt」でファイルを開いたら、こんな風に表示されました。

SUDO(8)                      MAINTENANCE COMMANDS                      SUDO(8)



NNAAMMEE
       sudo - execute a command as another user

SSYYNNOOPPSSIISS
       ssuuddoo --KK | --LL | --VV | --hh | --kk | --ll | --vv

       ssuuddoo [--HHPPSSbb] [--aa _a_u_t_h___t_y_p_e] [--cc _c_l_a_s_s|_-] [--pp _p_r_o_m_p_t] [--uu _u_s_e_r_n_a_m_e|_#_u_i_d]
       {--ee file [...] | --ii | --ss | _c_o_m_m_a_n_d}

       ssuuddooeeddiitt [--SS] [--aa _a_u_t_h___t_y_p_e] [--pp _p_r_o_m_p_t] [--uu _u_s_e_r_n_a_m_e|_#_u_i_d] file [...]
以下略

NNAAMMEEとかSSYYNNOOPPSSIISSって何これwwwおかしくねwwww
試しに「less sudo.txt」と打って再確認してみたら、今度はちゃんと表示される。あれ?


よく見比べてみたら、NNAAMMEEのように表示がおかしいと思っていた箇所は、赤く表示されているんですね!
なるほど、2個連続で書くと強調表示みたいな意味になるのか。
じゃあエスケープしたい場合はどうやって書くんだろう?


試しに「aammaa--cchh」と書き込んでみたけど、強調で「ama-ch」と表示されずにそのまま表示されちゃう。
書き込む場所が悪いのかと思って、

ssuuddoo --KK | --LL | --VV | --hh | --kk | --ll | --vv

という行を

ssuuddoo --KK | --LL | --VV | --hh | --kk | --ll | --vv | --aa

と書き換えると、出力は

sudo -K | -L | -V | -h | -k | -l | -v | --aa

となる。なぜだああー?