Pipe

如何從其他命令的輸出中擷取文件?

  • July 14, 2016

如果我做:

perldoc -l WWW::Mechanize

我得到以下輸出:

/usr/local/lib/perl5/site_perl/5.16.3/WWW/Mechanize.pm

如何在一行中將 top 命令給出的文件內容列印到螢幕上?我希望我可以做類似的事情:

perldoc -l WWW::Mechanize | cat | more

您可以使用命令替換來做到這一點,如下所示:

more "$(perldoc -l WWW::Mechanize)"

括號中的命令將首先在子 shell 中執行。然後將輸出發送到more.

包含引號是為了防止出現更一般情況的問題:例如,如果輸出包含空格或萬用字元。

例如,如果 的輸出perldoc -l WWW::Mechanize包含空格,如 中/usr/local/lib/perl5/site perl/5.16.3/WWW/Mechanize.pm,您將收到以下錯誤:

/usr/local/lib/perl5/site: No such file or directory
perl/5.16.3/WWW/Mechanize.pm: No such file or directory

引用自:https://unix.stackexchange.com/questions/295511