初學(xué)SHELL,翻看本板塊以前的問題,發(fā)現(xiàn)一個很有意思的現(xiàn)象,百思不得其解,望各位大牛解惑。- yu@yu-vm:~/6$ echo "1,2,3,,4,5,,6,,7,,,8,,,,"|awk -vRS=, '$0&&$0<5{print $0}'
- 1
- 2
- 3
- 4
- yu@yu-vm:~/6$ echo "1,2,3,,4,5,,6,,7,,,8,,,,"|awk -vRS=, '$0&&$0<5{print $0"1"}'
- 11
- 21
- 31
- 41
- 1
- yu@yu-vm:~/6$ echo "1,2,3,,4,5,,6,,7,,,8,,,,"|awk -vRS=, '$1&&$0<5{print $0"1"}'
- 11
- 21
- 31
- 41
- yu@yu-vm:~/6$
復(fù)制代碼 使用正常的文件,不指定RS的時候,就算文本的末尾有很多空行,這邊判斷$1或者$0不存在時都能正常工作。但是指定了RS之后,如果判斷$0是否存在時就出現(xiàn)了這個很奇怪的現(xiàn)象了。
不太懂為什么echo "1,2,3,,4,5,,6,,7,,,8,,,,"|awk -vRS=, '$0&&$0<5{print $0"1"}'這樣的時候會打印一個空行及最后的1 |