[20210924]awk奇怪的輸出2.txt
[20210924]awk奇怪的輸出2.txt
--//上班測試再次遇到奇怪的問題,自己記錄一下.
1.環境:
SCOTT@book> @ ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
2.測試:
$ sqlplus -s -l scott/book <<< "select empno,deptno,sal,comm from emp;"
EMPNO DEPTNO SAL COMM
---------- ---------- ---------- ----------
7369 20 800
7499 30 1600 300
7521 30 1250 500
7566 20 2975
7654 30 1250 1400
7698 30 2850
7782 10 2450
7788 20 3000
7839 10 5000
7844 30 1500 0
7876 20 1100
7900 30 950
7902 20 3000
7934 10 1300
14 rows selected.
$ sqlplus -s -l scott/book <<< "select empno,deptno,sal,comm from emp;" | awk '$4 >=0 {print $0 }'
EMPNO DEPTNO SAL COMM
7499 30 1600 300
7521 30 1250 500
7654 30 1250 1400
7844 30 1500 0
--//輸出header是對的,awk當作字串比較.
$ sqlplus -s -l scott/book <<< "select empno,deptno,sal,comm from emp;" | awk '$4*1 >=0 {print $0 }'
EMPNO DEPTNO SAL COMM
---------- ---------- ---------- ----------
7369 20 800
7499 30 1600 300
7521 30 1250 500
7566 20 2975
7654 30 1250 1400
7698 30 2850
7782 10 2450
7788 20 3000
7839 10 5000
7844 30 1500 0
7876 20 1100
7900 30 950
7902 20 3000
7934 10 1300
14 rows selected.
--//當欄位不存在時$4*1 當作0 ,這樣符合條件.看如下輸出.
$ sqlplus -s -l scott/book <<< "select empno,deptno,sal,comm from emp;" | awk '$4*1 >0 {print $0 }'
7499 30 1600 300
7521 30 1250 500
7654 30 1250 1400
--//也就是awk把位置引數不存在時數字當作0來處理了.如何解決呢?
--//我自己也沒有想到什麼好方法改寫如下:
$ sqlplus -s -l scott/book <<< "select empno,deptno,sal,comm from emp;" | awk '$4+0 >0 || $4=='0' {print $0 }'
7499 30 1600 300
7521 30 1250 500
7654 30 1250 1400
7844 30 1500 0
--//重點了解這些細節.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2793427/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20210924]awk奇怪的輸出.txt
- [20220822]奇怪的ashtop輸出.txt
- [20211111]奇怪的ashtop輸出.txt
- [20190720]sqlplus 與輸出& 2.txtSQL
- [20230405]奇怪的顯示輸出寬度.txt
- [20191119]探究ipcs命令輸出2.txt
- 很奇怪,echo substr ('470482916035',-6);// 輸出是 035
- awk 技巧之輸出單引號和雙引號
- Linux awk中輸出上下兩列值之間的差值Linux
- Ubuntu進修條記-SCIM奇怪符號輸入Ubuntu符號
- ncurses輸出函式:字元+字串的輸出函式字元字串
- 奇怪的GCDGC
- 資料的輸入輸出
- linux中的輸入與輸出管理(重定向輸入,輸出,管道符)Linux
- ACM的Python版輸入輸出ACMPython
- 輸入輸出
- 奇怪的農民
- awk的總結
- linux的awk命令Linux
- awk
- 安裝graphviz,dot -version 出現奇怪資訊
- Python資料的輸入與輸出Python
- AUTOCAD——圖形的輸入與輸出
- Java------簡單的輸入/輸出Java
- python:檔案的輸入與輸出Python
- 輸入輸出流
- 輸出
- WriteFile 奇怪的現象
- 一個奇怪的 Bug
- Linux:“awk”命令的妙用Linux
- awk的強大操作
- 【Linux篇】--awk的使用Linux
- 直播app原始碼,Java的輸入輸出APP原始碼Java
- 基本的python知識 (輸入和輸出)Python
- 重學java中的輸入輸出流Java
- 1.輸入輸出
- 【C++】輸入輸出C++
- 輸入輸出系統