gpt4 book ai didi

linux - 如何让 awk 命令在 Bash 脚本中工作?

转载 作者:太空宇宙 更新时间:2023-11-04 05:50:28 25 4
gpt4 key购买 nike

我有 bash 脚本,它接受用户输入并将它们存储在变量中!我使用 awk 命令来搜索文件中的某些模式:

#!/bin/bash
echo "Enter Data"
echo "Enter first pattern"
read firstpat

echo "Enter number"
read num1

echo "Enter name"
read name1

echo "Enter second pattern"
read secpat

echo "Enter second number"
read num2

echo "Enter name
read name2

awk '$0 >= "$firstpat $num1:$name1" && $0 <= "$secpat $num2:$name2"' /dir1/file1

脚本中的一切工作正常,但 awk 命令不显示任何结果。如果我在没有变量而不是文件的终端中运行相同的 awk 命令,它就可以工作!

最佳答案

awk 中,您必须为 awk 脚本再次定义 shell 变量。您可以使用与 shell 脚本中相同的变量名称。

您可以像这样使用awk:

awk -v "firstpat=$firstpat" -v "num1=$num1" -v "name1=$name1" -v "secpat=$secpat" -v "num2=$num2" -v "name2=$name2"  '$0 >= "$firstpat $num1:$name1" && $0 <= "$secpat $num2:$name2"' /dir1/file1

关于linux - 如何让 awk 命令在 Bash 脚本中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40451376/

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