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 编号分隔符。我希望这是有道理的,并且非常感谢一些指导