Pipe
如何從其他命令的輸出中擷取文件?
如果我做:
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