como 'echo' 'formatado' página man de algum comando para arquivo de texto [duplicado]

2

Quando executo

echo 'man ls' > tem.txt

Eu recebo saída não formatada no arquivo de texto, quero dizer saída sem nenhuma nova linha, apenas continua com sentenças. Como obtenho saída formatada? Por exemplo, a saída não formatada se parece com:

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.................
    
por Edward Torvalds 25.12.2014 / 13:49

1 resposta

3

Você não precisa forçar a saída de man por meio da substituição de processo. Redirecionamento funciona bem para isso:

man ls > tem.txt

Mesmo se você usar a substituição de processos, lembre-se de usar aspas, caso contrário, a saída passará por divisão + globbing no shell:

echo "$(man ls)" > tem.txt
    
por 25.12.2014 / 13:58