자바에서 쉘스크립트 수행 후 원하는 정보만 출력하기

yonoo88의 이미지

현재 제가 자바에서 쉘스크립트를 실행해서 그 안에 내용을 출력하는 것까지 해봣습니다.

그래서 지금 제가 보고싶은 정보만 골라보게 하고 싶은데 어떻게 해야되나요 ? 현재는 그냥 쉘스크립트에 있는 모든것을 보여주는 것 밖에 되지 않습니다.

골라서 나타내게 해주는 실행구문을 적어줘야되나요?
검색해보니 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());
}

}
}
*/

yonoo88의 이미지

밑에는 주석부분소스인데 같이 딸려나갔네요;;