2013-03-19 1 views
-1

나는 특정 문자열을 검색해야하는이 긴 로그 파일을 가지고 있는데 줄에 문자열이 포함되어 있으면 해당 줄을 복사하여 새 문서에 붙여 넣습니다. 나는 여러 로그를 통해 실행하고 알아낼 필요가 어떤 도움이 위대한 것입니다!텍스트 파일에서 한 줄을 복사하여 문자열을 기반으로 새 텍스트 파일에 붙여 넣는 방법?

+0

당신이 그것을 성취하려고 시도한 언어는 무엇입니까? –

+0

나는 그것을 시험해 보지 않았다. 이 작업에 대해 어떻게 해야할지 잘 모르겠다. – messimerdh

답변

0

grep을 사용하면 쉽지만 Windows를 사용하고 계신가요?

grep <string> <input file> >> <output file>

1

가정하면 모든 로그 파일이 같은 트릭을 할 수있는, 현재 디렉토리에 있습니다

grep 'a specific string' *.log >> log_summary.txt 

이 log_summary.txt에 모든 로그 파일에서 일치하는 모든 라인을 추가 할 것이다. 거기에서 다른 곳에 복사하거나 필요한 작업을 수행 할 수 있습니다.

+0

현재 디렉토리는 무엇을 의미합니까? 또한이 줄을 실행하는 데 나는 어디로 갈 것인가? Powershell, 명령 줄 또는 어디? – messimerdh

+0

죄송합니다. 저는 리눅스 또는 유닉스 계열 OS를 사용했습니다. Powershell에서 실행되는 Christopher Ranney의 솔루션을 사용해 Out-file -FilePath 매개 변수를 사용하여 결과를 가져올 위치를 지정하십시오. – sockmonk

1

이 시도를 확인하지 않았다.

Get-ChildItem | Foreach{Get-Content -Path $_.fullname} |Select-String "Pattern"|Out-file -FilePath C:\Temp\NewFile.log -Append -NoClobber 

"Pattern"을 찾고있는 텍스트로 바꾸십시오.

+0

어디에서 실행합니까? 또한 새로운 텍스트 파일의 이름을 짓는 곳이 있습니까? – messimerdh

+0

새 파일 이름을 변경하고이 줄을 편집 할 수 있습니다. -FilePath C : \ Temp \ "NewFile.log" 파일 이름은 따옴표로 묶어 원하는대로 변경하고 따옴표도 제거하십시오 . 이 로그는 로그가있는 디렉토리에서 실행할 수도 있고 path 매개 변수 ex, Get-ChildItem -Path C : \ Temp \ LogDirectory를 사용하여 지정할 수도 있습니다 –

관련 문제