plink

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

plink는 putty에서 제공되는 배치모드가 제공되는 원격접속 프로그램.

예를 들어..

cmds.txt

ls
pwd
exit

접속..

c:\> plink -ssh -l 아이디 -pw 암호 텔넷주소 < cmds.tx [/cpp] 아래는 결과화면. [cpp] Welcome to Ubuntu 11.04 (GNU/Linux 2.6.38-8-server x86_64) * Documentation: http://www.ubuntu.com/server/doc System information as of Fri Feb 10 17:24:37 KST 2012 System load: 0.08 Processes: 100 Usage of /home: 46.7% of 819.03GB Users logged in: 0 Memory usage: 44% IP address for eth0: xxx.xxx.xxx.xxx Swap usage: 0% Graph this data and manage this system at https://landscape.canonical.com/ New release 'oneiric' available. Run 'do-release-upgrade' to upgrade to it. Last login: Fri Feb 10 17:24:18 2012 from xx.xx.xxx.xxx ls pwd exit xxxx@xxxx:~$ ls public_html xxxxl@xxxx:~$ xxxxl@xxxx:~$ pwd /home/xxxx xxxxl@xxxx:~$ xxxx@xxxx:~$ exit logout  [/cpp]

문자열 추출

예를들어 아래의 문자열이 있다보자.

C:\>vsim -version
Model Technology ModelSim SE vsim 6.4b Simulator 2008.11 Nov 14 2008

여기서 6.4b 같은 버전을 뽑아내려고 한다.
하지만 버전의 위치가 새로운 버전이 나올때마다 위치가 바뀐다.
여기서 공통점을 찾아야 하는데, 바로 vsim 다음에 버전이 위치한다는 것이다.
아래는 간단히 구현해본 그의 코드이다. (사실 간단하다고 말했지만.. 어려웠다.. ㅠㅠ)

@echo off
SET /A POS=1
FOR /f "tokens=*" %%i in ('vsim -version') DO (
	FOR %%x in (%%i) DO (
		IF "%%x" EQU "vsim" GOTO BR
		SET /A POS+=1
	)
)

:BR
SET /A POS+=1
FOR /F "tokens=%POS%" %%i in ('vsim -version') DO SET VSIM_VERSION=%%i

echo %VSIM_VERSION%
pause