更改 awk 变量的参数

更改 awk 变量的参数

Bash 脚本新手。

数据列表:文件名包含日期“0310_Filename”

Hour     AM/PM   Game 1     Game2      Game 3

12:00:00 AM      First Last First Last First Last

我正在尝试编写一个 bash 脚本,该脚本将允许我使用 grep 和 awk 精确定位与特定日期和时间以及特定游戏相关的名称。我可以缩小所有 3 个名字的范围,但无法缩小游戏的范围。

这适用于每个日期和时间的名称:

#!/bing/bash

cat "$1"_Filename | grep "$2" | grep "$3" 

命令行输入:sh <scriptname> 0310 5:00:00 AM

这将根据日期查找正确的文件名,然后按小时排序,然后按 AM/PM 排序。

这样我就知道了该时间的时间和列出的 3 个名字。我想做的是添加一个最终参数,可以是“game1”、“game2”或“game3”。

我尝试在脚本中创建变量以与 awk 定界符关联,但问题是我使用 4 美元的内容最终会出现在输出中......

例子:

#!/bing/bash

game1="'{print $3, $4}'"

game2="'{print $5, $6}'"

game3="'{print $7, $8}'"

cat "$1"_Filename | grep "$2" | grep "$3" | awk -v a="$'$4'" -F" " 'a'

命令行输入:sh <scriptname> 0310 05:00:00 AM game1

我有一种感觉,我在这里处理变量失败了,并且不完全理解它们如何与 awk 一起工作......需要发生的是需要将参数传递到第四个变量的脚本中,并且变量需要指示要打印哪个 awk 编号分隔符。我希望这是有道理的,并且非常感谢一些指导

相关内容