日期:2014-05-16  浏览次数:20680 次

100 分求linux awk问题


private int cmdExcute(int date,String cmd,String path){
Process process=null;
cmd=cmd+path;
try{
process=Runtime.getRuntime().exec(cmd);
}catch(IOException e) {
logger.info("linux  error:",e);
}
InputStreamReader reader = new InputStreamReader(process.getInputStream());
BufferedReader bufferedReader = new BufferedReader(reader);
String str=null;
try{
str = bufferedReader.readLine();
}catch(IOException e1) {
logger.info("readLine error",e1);
}int count=0;////////////////////////////////唯一登陆
logger.info("cmd1=="+cmd+",result="+str);
try{
bufferedReader.close();
reader.close();
}catch(IOException e) {
logger.info("close error",e);
}finally{
if(bufferedReader!=null){
try {
bufferedReader.close();
}catch(IOException e) {
logger.info("finally close bufferedReader error",e);
}
}
if(reader!=null){
try {
reader.close();
}catch(IOException e) {
logger.info("finally close reader error",e);
}
}
}
return count;
}


为什么除了第二个能读取结果其它的都为null,在linux中是有结果显示的
linux java 系统 命令

------解决方案--------------------
楼主,昨天看到你的帖子了,不知道你贴这段java代码什么意思,还有你的awk主要遇到什么问题了,可以描述下
------解决方案--------------------
不懂代码,你对awk有什么疑问?
------解决方案--------------------
方法1:
在java代码里面,把linux命令的一个单引号改成两个单引号(不是双引号)。

方法2:
用数组,参考 http://wangbaoaiboy.blog.163.com/blog/static/52111910201111892938552/
------解决方案--------------------
引用:
方法1:
在java代码里面,把linux命令的一个单引号改成两个单引号(不是双引号)。

方法2:
用数组,参考 http://wangbaoaiboy.blog.163.com/blog/static/52111910201111892938552/

顶版主
------解决方案--------------------
引用:
不行呀版主,两个都试过了还是没打印

先用grep那个试试
------解决方案--------------------
什么都不懂,来围观