2

我希望将文本文件中的变量列表传递给一个简单的 bash 命令。基本上我有一个所有 linux 命令的列表(commands.txt)。我想将该文件中的每个命令(每个命令都在一个新行上)传递给 man 命令并将每个命令打印到一个新的 .txt 文件中,以便将每个变量传递给它:

man $command > $command.txt

因此每个变量都会将其手册页打印到其名称 .txt 中。请帮忙!我想在 bash 脚本中执行此操作,但任何可行的方法都将不胜感激。

4

2 回答 2

2

使用内置命令read

cat commands.txt | while read command; do
  man $command > $command.txt
done
于 2012-12-11T17:15:39.657 回答
1

不能将手册页的输出重定向到这样的文件中:

man man > man.txt # DON'T DO THIS

上面的问题是输出的 man.txt 文件也会包含很多额外的格式化字符。

这是编写脚本的正确方法:

while read command; do
   man $command | col -b > $command.txt
done < commands.txt

注意使用col -b此处删除所有格式字符。

于 2012-12-11T17:26:58.090 回答