다른 명령의 출력에서 ​​파일을 캡처하려면 어떻게 해야 합니까?

다른 명령의 출력에서 ​​파일을 캡처하려면 어떻게 해야 합니까?

만약 내가한다면:

perldoc -l WWW::Mechanize

다음과 같은 결과가 나타납니다.

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

top 명령으로 제공된 파일의 내용을 한 줄로 화면에 인쇄하려면 어떻게 해야 합니까? 다음과 같이 할 수 있었으면 좋겠습니다.

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

관련 정보