명령 결과를 파일로 저장하고 싶습니다.

명령 결과를 파일로 저장하고 싶습니다.

소스 코드를 분석하기 위해 cppcheck 도구를 사용하고 있습니다.

gcc 컴파일러의 쉘 프롬프트에서 다음 명령을 내렸습니다.

$ cppcheck abc.cpp  

출력은 다음과 같습니다

checking abc.cpp...   
(error) Possible null pointer dereference: <var> - otherwise it is redundant to check if   <var> is null at line 100    
segmentation fault

이 출력을 파일로 저장하고 싶어서 아래와 같이 명령을 내렸습니다.

$ cppcheck abc.cpp 2> abc.txt

하지만 abc.txt 파일의 내용은 다음과 같습니다.

checking abc.cpp...  

첫 번째 줄만 저장하고 abc.txt 파일에서 주요 오류 부분이 누락되었습니다.

파일의 모든 출력 행을 얻으려면 어떤 명령을 사용해야 합니까? cppcheck 도구 매뉴얼은 다음과 같습니다.여기.

답변1

2명령에서 제거되었으며 >리디렉션 연산자로만 사용됩니다.

를 사용하면 2>오류 스트림(STDERR)을 파일로 리디렉션할 수 있습니다. 원하는 것은 일반 출력 스트림(STDOUT)인 것 같습니다.

cppcheck abc.cpp > abc.txt

네가 원한다면둘 다파일에 액세스하려면 다음과 같이 2(오류 스트림)를 1(표준 출력 스트림)에 연결하면 됩니다.

cppcheck abc.cpp > abc.txt 2>&1

또는 사용제안된 단축키 구문모든 것을 잡아라.

답변2

stdout 및 stderr을 파일로 리디렉션해야 할 수도 있습니다.

cppcheck abc.cpp  &>abc.txt

답변3

케일럽이 옳았어> 사용에 관해서는, tee파일에 저장하면서 로그를 보려면 이 명령을 사용할 수도 있습니다.

cppcheck abc.cpp | tee my.file.txt

또한 2>&1과 함께 사용해야 합니다.

cppcheck abc.cpp 2>&1 | tee my.file.txt

관련 정보