デフォルト条件は1行のコードを使用します。

デフォルト条件は1行のコードを使用します。

awkファイルを見て、列に値があることを確認してください。

  • 値が「x」の場合は、電子メールに「x」を印刷します(pass "| mail -s ")。
  • 「x」と一致しない場合は、「値なし」を印刷しますが、まだメールを送信します。

次のようにしてみてください。 -

awk -F ''{if($3 != 0) {a = ($3); print $0, a;} else if ($3==0) print "No updates"}'  file.in | mail...etc 

答え1

awk '$3 == "x" { print $3 } $3 != "x" { print "no value" }' file.in | mail ...

または

awk '{ print ($3 == "x" ? $3 : "no value") }' file.in | mail ...

または

awk '$3 != "x" { $3 = "no value" } { print $3 }' file.in | mail ...

与えられたファイル

1 2 3
2 3 x
4 5 x

これら3つのawkプログラムは出力を生成します

no value
x
x

答え2

努力する

awk '{ print ($3!="x")?"No Updates":$3 }' infile | mail ... 

答え3

私は次の方法で試しました

g=`awk '{print NF}' l.txt| sort -nr | head -1`

xモードが存在します

for ((l=1;l<=$g;l++)); do awk -v l="$l" '$l == "x" {print "exists in"l"column"}' l.txt| sort -u; done |mail ..

xモードには存在しません

for ((l=1;l<=$g;l++)); do awk -v l="$l" '$l != "x" {print " doesnt exists in"l"column"}' l.txt|sort -u; done| mail

入力ファイル

[root@praveen_2 ~]# cat l.txt
10 x x
10 x x

関連情報