기본 조건은 한 줄의 코드를 사용합니다.

기본 조건은 한 줄의 코드를 사용합니다.

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

이 세 가지 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

관련 정보