bash 터미널의 이전 출력을 파일로 복사하는 방법

bash 터미널의 이전 출력을 파일로 복사하는 방법

터미널의 출력을 파일로 리디렉션하는 방법을 알고 있습니다. 예를 들어 ~/Documents의 모든 파일을 나열하고 test.txt라는 파일로 출력하려면 다음을 수행합니다.

ls ~/Documents > test.txt

문제는 명령을 수행한 후에 출력을 test.txt에 복사할 수 있느냐는 것입니다. 이는 출력을 파일에 복사할지 여부를 미리 알 필요가 없음을 의미합니다. 나는 이런 일을하고 싶다 :

ls ~/Documents

그런 다음 이:

<bash command for copying standard output to test.txt>

도움을 주시면 감사하겠습니다.

답변1

를 사용할 수 있지만 tee엄밀히 말하면 이전 명령을 실행한 이후는 아닙니다.

ls ~/Documents | tee test.txt

정상적으로 명령줄 세션에 출력을 쓰고 test.txt에도 씁니다.

또는 GNU 내에서 실행 중인 경우 screen스크롤백 버퍼에서 이동하고 복사/붙여넣기하는 명령이 있습니다. 자세한 내용은이 슈퍼유저 질문.

답변2

Emacs 창에서 쉘 세션을 시작한 다음 간단히 복사하여 붙여넣을 수 있습니다.

(vi 내에서 명령을 실행하고 현재 vi 버퍼에서 출력을 조합할 수도 있습니다)

또는 xterm 창에서 복사하여 붙여넣을 수도 있습니다.

또는 script(1)을 사용하여 쉘 세션을 실행하고 나중에 세션 출력을 편집할 수 있습니다.

아니면 단순히 명령을 다시 실행할 수도 있습니다.

이것이 도움이 되길 바랍니다, 클라우스

관련 정보