awk + शून्य होने पर फ़ील्ड सत्यापित करें


0

यह जानने के लिए कि क्या फ़ील्ड 5 में मेरा उपयोग है:

   [[ -z ` echo $LINE  | awk '{print $5}' ` ]]

मेरा सवाल है कि अगर क्षेत्र 5 शून्य है, तो सत्यापित करने का एक और सुरुचिपूर्ण तरीका है?

THX येल


उदाहरण पंक्तियाँ प्रदान करें
akira

LINE = 123 aaa ddd ggg ttt yyy hhh
येल

जवाबों:


2

length5=$(echo $LINE | awk '{ print length($5)}') चर के बाद $lenght5फ़ील्ड 5 की लंबाई होगी;

नोट: आपकी उदाहरण पंक्ति में, यदि ttt खाली था, तो yy फ़ील्ड 5 होगा, इसलिए सावधान रहें: आप इसका उपयोग कर सकते हैं

awk -F' '

awkजगह को क्षेत्र को परिसीमित बनाने के बजाय , ताकि 2 रिक्त स्थान = खाली क्षेत्र ...।


0

यह पारित करेंगे, तो 5 वीं क्षेत्र स्ट्रिंग है 0(और नहीं होगा अगर यह 00, 0.0है, या यह अनुपस्थित आदि है)।

#!/bin/bash

LINE="123 aaa ddd ggg 0 yyy hhh"

if [[ "0" = `echo ${LINE}  | awk '{print $5}'` ]]
then
   echo "5th field is string '0'"
else
   echo "5th field isn't string '0'"
fi

क्या यह वही है जो आप चाहते हैं?

यदि आप अधिक उदाहरण इनपुट प्रदान करते हैं तो यह उपयोगी होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.