cat student.txt |grep -v "name" | awk '$4>=70{printf $2 "\n"}'

来源:2-4 shell字符截取命令之awk命令(下)

wulongtao

2016-05-25 21:43

bash中默认的不都是字符串形式么?为什么$4>=70可以进行比较啊?

写回答 关注

4回答

  • AIxer
    2016-05-26 08:19:10
    已采纳

    这个应该是awk决定的吧,把它以参数的形式记录;bash是默认而已,那个之前有节课编写简单加法计算器时不就用了参数$1,$2来运算的么。

  • wulongtao
    2016-05-26 14:36:01

    那个$4那个应该是调用参数,但是调用过来应该是字符串啊,字符串怎么比较大小啊?这里的字符串比较大小肯定不是我们希望的,这里肯定是数字比较大小啊

  • 小钱趣
    2016-05-26 14:35:12

    在bash中的变量默认是字符串类型

    但是$4表示的是第4位字符,不是表示一个变量

  • AIxer
    2016-05-26 08:32:34

    我想如果把70也作为字符串比较的话,也是可以的

shell编程之正则表达式

为你带来shell编程中的正则表达式,能够熟练运用正则表达式

39682 学习 · 73 问题

查看课程

相似问题