使用 ksh(AIX) 时如何在 awk 中调用变量? [复制]
Posted
技术标签:
【中文标题】使用 ksh(AIX) 时如何在 awk 中调用变量? [复制]【英文标题】:How to call a variable inside awk when using ksh(AIX)? [duplicate] 【发布时间】:2020-08-29 12:05:25 【问题描述】:我正在编写一个脚本,我需要像这样在 awk 代码块中传递变量值
$ ps auxw |awk /$variable/ |awk !/awk/ |wc -l
For example. If I were to check the status of cron I would type something as shown below
$ ps auxw |awk /cron/ |awk !/awk/
root 4980924 0.0 0.0 1276 1300 - A Jan 07 3:12 /usr/sbin/cron
我使用过 ps -ef |grep cron |grep -c -v cron 但是当我执行脚本时,当我只有一行输出时,它会报告行数为 2。 有人可以帮忙吗?
【问题讨论】:
你的意思是你用了ps -ef | grep cron | grep -c -v grep? @JamesMcLeod, ps 命令正如您所展示的那样有效,但是当在脚本中调用它时,由于 ksh 中的一些奇怪原因,当实际计数为 1 时,行数为 2 【参考方案1】:我想,我已经找到了我所寻找的答案。我只需要在双引号内传递变量。谢谢。
$ svar="cron"
$ ps auxw |awk /"$svar"/ |awk !/awk/
root 4980924 0.0 0.0 1276 1300 - A Jan 07 3:12 /usr/sbin/cron
【讨论】:
以上是关于使用 ksh(AIX) 时如何在 awk 中调用变量? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
有啥方法可以在 Linux/AIX 中从 ksh 更改进程名称?