एक CentOS 7 सर्वर में, मैं उन चुनिंदा इकाइयों की सूची प्राप्त करना चाहता हूं जिनके journalctl
लिए लॉग का उत्पादन कर सकते हैं। इसे पूरा करने के लिए मैं निम्नलिखित कोड कैसे बदल सकता हूं?
journalctl --output=json-pretty | grep -f UNIT | sort -u
CentOS 7 टर्मिनल में, उपरोक्त कोड का उत्पादन होता है grep: UNIT: No such file or directory
।
संपादित करें:
निम्नलिखित जावा प्रोग्राम वांछित grep से किसी भी आउटपुट को प्रिंट किए बिना समाप्त कर रहा है। मैं चीजों को कैसे बदल सकता हूं ताकि टर्मिनल संस्करण के अलावा जावा प्रोग्राम काम करे?
String s;
Process p;
String[] cmd = {"journalctl --output=json-pretty ","grep UNIT ","sort -u"};
try {
p = Runtime.getRuntime().exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((s = br.readLine()) != null)
System.out.println("line: " + s);
p.waitFor();
System.out.println ("exit: " + p.exitValue()+", "+p.getErrorStream());
BufferedReader br2 = new BufferedReader(new InputStreamReader(p.getErrorStream()));
while ((s = br2.readLine()) != null)
System.out.println("error line: " + s);
p.waitFor();
p.destroy();
} catch (Exception e) {}
grep -F