Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在使用java(Jsch)执行grep操作后从unix服务器读取文件_Java_Unix_Jsch - Fatal编程技术网

如何在使用java(Jsch)执行grep操作后从unix服务器读取文件

如何在使用java(Jsch)执行grep操作后从unix服务器读取文件,java,unix,jsch,Java,Unix,Jsch,我在服务器上有一个大小为200 mb的文本文件。我想使用命令(grep keyword1 filename.txt | grep-v keyword2)减少文件内容,然后使用Jsch连接在java中读取该文件。我通过以下代码解决了该问题:- JSch jsch = new JSch(); Session session = null; try { String command="grep 'keyword1' filename.txt|grep -v 'keyword2'"; sessi

我在服务器上有一个大小为200 mb的文本文件。我想使用命令(grep keyword1 filename.txt | grep-v keyword2)减少文件内容,然后使用Jsch连接在java中读取该文件。

我通过以下代码解决了该问题:-

JSch jsch = new JSch();
Session session = null;
try {
  String command="grep 'keyword1' filename.txt|grep -v 'keyword2'";
  session = jsch.getSession(userid, servername, serverport);
  session.setPassword(password);
  session.setConfig("StrictHostKeyChecking", "no");
  session.setConfig("PreferredAuthentications", "publickey,keyboard-interactive,password");
  session.connect();

  Channel channel = session.openChannel("exec");
  ((ChannelExec)channel).setCommand(command);
  channel.connect();

  InputStream commandOutput = channel.getInputStream();
  BufferedReader br = new BufferedReader(new      InputStreamReader(commandOutput));    
  String line="";                           
  while ((line = br.readLine()) != null)
 {
        System.out.println(line);                               
 }
  br.close();
  channel.disconnect();
  session.disconnect();
} catch (Exception e) {
  e.printStackTrace();
}

看看这个答案。1) 问适当的问题确实很有帮助。2) 在代码的哪一点上有问题?展示相关代码,礼貌的人会帮助你解决问题。如果没有看到您的代码,我们就无法提供太多帮助。您可以从这里开始:。如果你有一个具体的问题,在你的问题中提到它。