2014-12-20 2 views
0

텍스트 파일에서 데이터를 읽고 IP 주소를 팝업하고 VBScript로 전자 메일을 보낼 수 있도록 코드를 작성했습니다.리눅스 환경에서 VBScript를 실행하십시오.

코드가 성공적으로 실행되었습니다.

Const ForReading = 1 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFile = objFSO.OpenTextFile("Your File Name Here.txt", ForReading) 

strSearchString = objFile.ReadAll 

objFile.Close 

Set objRegEx = CreateObject("VBScript.RegExp") 

objRegEx.Global = True 
objRegEx.Pattern = "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}" 

Set colMatches = objRegEx.Execute(strSearchString) 

If colMatches.Count > 0 Then 
    For Each strMatch in colMatches 
     Wscript.Echo strMatch.Value 
    Next 
End If 

요구 사항이 변경되었습니다 유닉스 서버에서 동일한 프로세스를 실행하는 데 필요한, 그래서 나는 그래서 위의 모든 VBScript를 쓰기 유닉스에서 발생합니다.

+0

그리고 이미 시도한 것은 무엇입니까? 오류가 있습니까? 어떤 언어로 이것을 재 작성하려고하십니까? Stack Overflow는 작업을 수행하기위한 포럼이 아니며 직접 할 때 질문에 대답하기위한 것입니다. – jakerella

+0

예, 기본 아이디어가 필요합니다 (예 : unix env에서 같은 스크립트를 실행할 수있는 것처럼) 또는 전체 코드를 변경해야합니까 ?? 어디서부터 시작해야합니까? 유닉스에서 일하는 것이 처음입니다. –

답변

2

아니요, Linux/Unix에서 VBScript를 실행할 수 없습니다. 쉘 (bash, ksh, (t) csh, ...), Perl, Python 또는 Ruby와 같은 플랫폼에서 사용할 수있는 언어로 스크립트를 다시 구현해야합니다.

스크립트가 텍스트 파일에서 IP 주소를 추출하는 것 같아서 쉘 스크립트가 최선의 선택이라고 생각합니다. 리눅스 배포판에서 기본 셸은 보통 bash입니다. 따라서 Bash Guide for Beginners으로 시작하는 것이 좋습니다. 찾고있는 도구는 grep입니다. 매개 변수 -P (펄 스타일의 표현) 및 -o와 (쇼 일치 만 해당)을 사용하여 또한, 정규 표현식이 점 번호 세그먼트, 예를 그룹화하여 단축 될 수

grep -Po "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}" /path/to/your.txt 

이 같은 : 당신이 스크립트에서이 작업을 실행하려면

grep -Po "\d{1,3}(\.\d{1,3}){3}" /path/to/your.txt 

파일은 다음과 같이 다소 같아야합니다

shebang
#!/bin/sh 

grep -Po "\d{1,3}(\.\d{1,3}){3}" /path/to/your.txt 

는 통역 내용을 실행하기 위해 사용되어야 정의합니다.

+0

글쎄, thnx 정보. 유닉스 자동화를위한 스크립트를 .sh 형식으로 작성해야합니까? 창 명령 프롬프트에서 결과를 확인할 수 있습니까? –

+0

@KrishKrishna 스크립트에서 실행하는 것이 좋습니다 (업데이트 된 답변 참조). 직접 실행하는 것도 가능하지만 크리에이티브 인용/이스케이프가 필요하므로 스크립트에 넣고 실행하는 것이 더 간단합니다. 결과를 확인할 수 있는지 여부는 원격 호스트에서 스크립트를 실행하는 방법에 따라 다릅니다. 예를 들어 [plink'] (http://the.earth.li/~sgtatham/putty/0.63/htmldoc/Chapter7.html#plink)는 명령의 출력을 반환합니다. –

+0

큰 도움을 주셔서 감사합니다. 감사합니다. –

관련 문제