자바에서 쉘스크립트 수행 후 원하는 정보만 출력하기
현재 제가 자바에서 쉘스크립트를 실행해서 그 안에 내용을 출력하는 것까지 해봣습니다.
그래서 지금 제가 보고싶은 정보만 골라보게 하고 싶은데 어떻게 해야되나요 ? 현재는 그냥 쉘스크립트에 있는 모든것을 보여주는 것 밖에 되지 않습니다.
골라서 나타내게 해주는 실행구문을 적어줘야되나요?
검색해보니 awk 라는게 있긴한데 그걸로도 가능한건지.. 아님 if문 써서 조건에 맞으면 출력하게 스크립트를 짜야하는건지..
궁금합니다.
현재 소스입니다.
import java.io.*;
public class ShellScript {
public static void main(String[] args) throws IOException, InterruptedException {
try {
String line;
Process p = Runtime.getRuntime().exec("/bin/sh /usr/local/hello.sh");
BufferedReader bri = new BufferedReader
(new InputStreamReader(p.getInputStream()));
BufferedReader bre = new BufferedReader
(new InputStreamReader(p.getErrorStream()));
while ((line = bri.readLine()) != null) {
System.out.println(line);
}
bri.close();
/* while ((line = bre.readLine()) != null) {
System.out.println(line);
}*/
bre.close();
p.waitFor();
}
catch (Exception err) {
err.printStackTrace();
}
}
}
/*public static void main(String args[]) {
Runtime rt = Runtime.getRuntime();
Process proc = runtime.exec(cmd, new String[0], new File("/usr/local"));
//Process proc = null;
InputStream is = null;
BufferedReader bf = null;
try{
String[] cmd = {"/bin/sh", "/usr/local/hello.sh"};
proc = rt.exec(cmd);
proc.getInputStream();
is = proc.getInputStream();
bf = new BufferedReader(new InputStreamReader(is));
while(true){
String info = bf.readLine();
if(info == null || info.equals("")){
break;
}
System.out.println("info ::::: "+info);
}
}catch(Exception e){
System.out.print(e.getMessage());
}
}
}
*/
글 수정이 안되네요
밑에는 주석부분소스인데 같이 딸려나갔네요;;
댓글 달기