当我执行时
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
即使您如此使用进程替换,也请记住使用引号,否则输出将在 shell 中进行分割 + 通配:
echo "$(man ls)" > tem.txt