**已关闭。**此问题不符合Stack Overflow guidelines。当前不接受答案。
我们不允许问题寻求书籍、工具、软件库等的建议。您可以编辑问题,以便使用事实和引文来回答。
2天前关闭。
Improve this question
我有一个文件aa.txt
:
John Norman
Robert Anson
Christopher Fowler
Robert Harris
Dan Simmons
我想从键盘输入关键字,并在文件元素中逐行检查。如果为真,则输出包含该关键字的整行。例如,如果我输入单词“John”,它将输出“John Norman”我如何编写Perl脚本?(我使用Perl脚本,因为这是一个需要使用Perl的练习)非常感谢!
2条答案
按热度按时间m1m5dgzv1#
我想你想要的是
grep
:您也可以不区分大小写地执行此操作:
但是,假设您希望一次执行多个搜索。首先要弄清楚的是您想要的机制,而您的问题没有提供这一点。因此,我将第一个参数设置为文件,其余参数设置为要查找的内容:
那就很简单了
除此之外,你必须告诉我们更多关于你正在努力做什么。
drkbr07n2#
这看起来根本不像是一个
perl
问题,你可以这样做:(In上面,每个奇数行由用户输入)
我想你可以这样做:
但请注意,这两种解决方案都不寻常。与其“从键盘输入关键字”,更典型的做法是将搜索项作为参数传递给
grep
,或者将它们都放入一个文件中。如果您只读一次文件,搜索可以得到极大的优化,而这里提供的解决方案只有在您确实想对每个搜索项交互地进行此操作时才有用。即使这样,更自然的做法是只为每个项调用grep
,或者编写一个shell函数来简化接口。