आउटपुट की प्रत्येक पंक्ति में विशिष्ट कॉलम के बीच टेक्स्ट का चयन करें - एंड्रॉइड, बैश, आउटपुट, कट

मेरे पास आउटपुट कुछ है:

xxxxxxxxxFOOxxxxxxxxxxxx
blablabl BAR lablblablaa
=========tst============

कुछ ऐसा करने के लिए मैं क्या कर सकता हूं:

FOO
BAR
tst

सभी कमांड में विशिष्ट कॉलम के बीच केवल प्रदर्शन टेक्स्ट के लिए मुझे किस कमांड का उपयोग करना चाहिए?

cut -d काम नहीं करेगा क्योंकि यह हर पंक्ति में एक ही delimiter नहीं है ..

पीएस: एंड्रॉइड पर और कुछ कमांड मिस ..

मदद के लिए thx ...

उत्तर:

उत्तर № 1 के लिए 1

cut -d काम नहीं करेगा क्योंकि यह हर पंक्ति में एक ही delimiter नहीं है ..

हाँ लेकिन cut -c10-12 नौकरी करता है, प्रत्येक पंक्ति के केवल 10 वें, 11 वें और 12 वें चरित्र को निकाला जाता है। आप लंबी लाइनों के उदाहरण प्रदान नहीं करते हैं, इसलिए यह स्पष्ट नहीं है कि आप उस मामले में क्या करना चाहते हैं।


जवाब के लिए 0 № 2
String[] str = {"xxxxxxxxxFOOxxxxxxxxxxxx",
"blablabl BAR lablblablaa",
"=========tst============"};

for (String s : str) {
int half = s.length() / 2;
String cutted = s.substring(half - 3, half);
// or String cutted = s.substring(9, 12);
// => FOO, BAR, tst
}

जवाब के लिए 0 № 3

इस तरह की एक साधारण विधि का प्रयोग करें:

private static String selectBetween(String input, int numberOfCharacters) {
int startIndex = (input.length() - numberOfCharacters) / 2;
return input.substring(startIndex, startIndex + numberOfCharacters);
}

और फिर आप इसे बस कॉल करें: String output = selectBetween("123123ABC123123", 3);// output will be ABC


संबंधित सवाल
सबसे लोकप्रिय