特定のコマンドの「フォーマットされた」マニュアルページをテキストファイルに「エコー」する方法

特定のコマンドの「フォーマットされた」マニュアルページをテキストファイルに「エコー」する方法

私が走るとき

echo `man ls` > tem.txt

テキストファイルからフォーマットされていない出力を取得しています。つまり、改行なしで文だけが続く出力を意味します。フォーマットされた出力を取得するには?
たとえば、フォーマットされていない出力は次のようになります。

LS(1) User Commands LS(1) NAME ls - list directory contents SYNOPSIS ls
[OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the
current directory by default). Sort entries alphabetically if none of -
cftuvSUX nor --sort is speci‐ fied. Mandatory arguments to long options are
mandatory for short options too. -a.................

ベストアンサー1

manプロセス置換によって出力を強制する必要はありません。リダイレクトがうまく機能します。

man ls > tem.txt

このようにプロセス置換を使用している場合でも、引用符を使用する必要があります。それ以外の場合、出力はシェルで分割+ワイルドカードとして表示されます。

echo "$(man ls)" > tem.txt

おすすめ記事