如何在使用java(Jsch)执行grep操作后从unix服务器读取文件
我在服务器上有一个大小为200 mb的文本文件。我想使用命令(grep keyword1 filename.txt | grep-v keyword2)减少文件内容,然后使用Jsch连接在java中读取该文件。我通过以下代码解决了该问题:-如何在使用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
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) 在代码的哪一点上有问题?展示相关代码,礼貌的人会帮助你解决问题。如果没有看到您的代码,我们就无法提供太多帮助。您可以从这里开始:。如果你有一个具体的问题,在你的问题中提到它。