gpt4 book ai didi

linux - 在 awk 命令中使用 bash 脚本 $1 参数

转载 作者:IT王子 更新时间:2023-10-29 01:00:35 25 4
gpt4 key购买 nike

我想创建一个带有参数并使用 awk 打印 if

的 bash 脚本

这是一个孤儿进程:

#find_orphan.sh :

ps -elf | awk '/$1/&&!/awk/ {if ($5 == 1){print $15}}'

不幸的是,我在将 $1 呈现为 bash 参数时遇到了问题。

如果我在不使用 $1 的情况下运行它,我的程序将运行:

ps -elf | awk '/some_program/&&!/awk/ {if ($5 == 1){print $15}}'

我确实需要能够在 bash 脚本参数中指定 awk 搜索模式。

有什么帮助吗?

最佳答案

使用 awk -v var=val 将命令行值传递给 awk 并使用 $0 ~ val 语法使用正则表达式对其进行比较:

ps -elf | awk -v arg="$1" '$0 ~ arg && !/awk/ && $5 == 1{print $15}'

没有正则表达式:

ps -elf | awk -v arg="$1" 'index($0, arg) && !/awk/ && $5 == 1{print $15}'

关于linux - 在 awk 命令中使用 bash 脚本 $1 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28093236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com