为什么在awk中不使用shell变量?

克里斯15

我正在尝试使用awk解决一些问题,但是我不明白为什么这些行不起作用。

name="root"
ps -eo user:20,rss | awk "{if(\$1==$name) print \$2}"

通常,在我的系统中,有很多进程,所有者是root,但输出是空的。当我使用这个:

ps -eo user:20,rss | awk '{if($1=="root") print $2}'

一切正常,我有正确的输出,但是我需要使用此变量“名称”,所以我不能这样保留它。谢谢,请帮助我找出问题所在。

muru

使用运行set -x,您将看到:

$ ps -eo user,rss | awk "{if(\$1==$name) print \$2}"
+ ps -eo user,rss
+ awk '{if($1==root) print $2}'

您缺少的引号root,否则,awk会被root视为awk变量名称,而不是字符串。

但是,如果要在awk中使用shell变量,最好将awk变量设置为shell变量的值:

ps -eo user,rss | awk -v name="$name" '$1 == name {print $2}'

这也避免了引用问题,因为现在awk将扩展awk变量以获取正确的文本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么不使用shell_exec而不是使用输出缓冲将文件“包含”到变量中?

来自分类Dev

为什么不使用javascript声明变量?

来自分类Dev

为什么不使用变量的点击事件

来自分类Dev

使用代码中的变量而不是整数访问XML节点-为什么它不使用变量?

来自分类Dev

在awk中的模式内使用shell变量

来自分类Dev

为什么不使用StreamProvider中的getUriFromFile?

来自分类Dev

在链表中创建当前变量时,为什么不使用“ new”?

来自分类Dev

为什么不使用eval扩展此变量?

来自分类Dev

为什么不使用此包含路径变量?

来自分类Dev

如果引用变量,为什么不使用return($ var)?

来自分类Dev

为什么我的 for 循环不使用更新的全局变量?

来自分类Dev

OSX:为什么在终端中手动编写退出而不使用从终端运行的shell脚本时退出工作?

来自分类Dev

为什么在React中可以在不使用模板原义sintax的情况下在html元素内表达变量?

来自分类Dev

shell函数中的awk变量

来自分类Dev

在awk中使用shell变量

来自分类Dev

什么时候不使用Java中的volatile变量

来自分类Dev

什么时候不使用Java中的volatile变量

来自分类Dev

为什么不使用setXXXSize()?

来自分类Dev

为什么不使用@messages?

来自分类Dev

为什么不使用UASP

来自分类Dev

为什么PostgreSQL在此查询中不使用索引

来自分类Dev

为什么这个简单的查询不使用postgres中的索引?

来自分类Dev

为什么在无监督学习中不使用DropOut?

来自分类Dev

为什么在以下示例中不使用缓冲?

来自分类Dev

为什么不使用Java 8中的默认构造函数?

来自分类Dev

为什么GLib在这些函数中不使用'const'?

来自分类Dev

为什么在Java中不使用int基本类型

来自分类Dev

Sailsjs:以下代码中为什么不使用* return *?

来自分类Dev

为什么不使用StreamWriter在输出中写入任何行

Related 相关文章

  1. 1

    为什么不使用shell_exec而不是使用输出缓冲将文件“包含”到变量中?

  2. 2

    为什么不使用javascript声明变量?

  3. 3

    为什么不使用变量的点击事件

  4. 4

    使用代码中的变量而不是整数访问XML节点-为什么它不使用变量?

  5. 5

    在awk中的模式内使用shell变量

  6. 6

    为什么不使用StreamProvider中的getUriFromFile?

  7. 7

    在链表中创建当前变量时,为什么不使用“ new”?

  8. 8

    为什么不使用eval扩展此变量?

  9. 9

    为什么不使用此包含路径变量?

  10. 10

    如果引用变量,为什么不使用return($ var)?

  11. 11

    为什么我的 for 循环不使用更新的全局变量?

  12. 12

    OSX:为什么在终端中手动编写退出而不使用从终端运行的shell脚本时退出工作?

  13. 13

    为什么在React中可以在不使用模板原义sintax的情况下在html元素内表达变量?

  14. 14

    shell函数中的awk变量

  15. 15

    在awk中使用shell变量

  16. 16

    什么时候不使用Java中的volatile变量

  17. 17

    什么时候不使用Java中的volatile变量

  18. 18

    为什么不使用setXXXSize()?

  19. 19

    为什么不使用@messages?

  20. 20

    为什么不使用UASP

  21. 21

    为什么PostgreSQL在此查询中不使用索引

  22. 22

    为什么这个简单的查询不使用postgres中的索引?

  23. 23

    为什么在无监督学习中不使用DropOut?

  24. 24

    为什么在以下示例中不使用缓冲?

  25. 25

    为什么不使用Java 8中的默认构造函数?

  26. 26

    为什么GLib在这些函数中不使用'const'?

  27. 27

    为什么在Java中不使用int基本类型

  28. 28

    Sailsjs:以下代码中为什么不使用* return *?

  29. 29

    为什么不使用StreamWriter在输出中写入任何行

热门标签

归档