我有这个.txt文件名为“搜索_此_文件. txt”其中包含以下信息:
12:00:00 AM First_Name Last_Name
01:00:00 AM First_Name1 Last_Name2
...
01:00:00 PM First_Name13 Last_Name13
...
11:00:00 PM First_Name23 Last_Name23
我正在尝试编写一个bash脚本,它将逐行扫描“Search_this_file.txt”中的信息,并只打印出与两个用户输入变量匹配的行。在我的例子中,我要求用户输入时间(例如“12:00:00”)以及它是AM还是PM。因此,如果有人输入“01:00:00”作为时间,输入“PM”作为AM/PM,bash脚本将运行并在命令行终端中打印“01:00:00 PM First_Name13 Last_Name13”。
这是我目前掌握的情况:
#!/bin/bash/
read -p "Enter time in HH:MM:SS format " TIME
read -p "AM or PM? " AMPM
echo -e | grep -Fiw '$TIME' Search_this_file.txt |
grep -Fiw "$AMPM"
感谢您的评分
1条答案
按热度按时间fd3cxomn1#
快到了,朋友。
你只需要做一个改变:
在Linux中放置单引号并不将其视为变量。
另外,如果你想要更好的代码,你可以参考下面的代码:
只是增加了更多的可靠性的代码。希望这有帮助。