他のコマンドの出力からファイルをキャプチャするにはどうすればよいですか?

他のコマンドの出力からファイルをキャプチャするにはどうすればよいですか?

私がするなら:

perldoc -l WWW::Mechanize

次の結果が表示されます。

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

topコマンドで提供されたファイルの内容を1行で画面に印刷するにはどうすればよいですか?次のようにできたらと思います。

perldoc -l WWW::Mechanize | cat | more

ベストアンサー1

次のようにコマンド置換を使用してこれを実行できます。

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

括弧内のコマンドは最初にサブシェルで実行されます。その後、出力がに送信されます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

おすすめ記事