非常感谢任何帮助。我可以阅读代码并弄明白,但我无法从头开始编写。
我需要帮助启动一个ksh脚本,该脚本会在文件中搜索多个字符串,并将包含其中一个字符串的每一行写入输出文件。
如果我使用以下命令:
$ grep“搜索模式”文件>>输出文件
......这就是我想要的。但我需要搜索多个字符串,并按文件中列出的顺序写入输出。
再次......任何帮助都会很棒!提前谢谢!
答案 0 :(得分:0)
查看正则表达式手册。您可以在搜索表达式中指定多个字符串,例如grep" John | Bill"
Man grep会教你很多关于正则表达式的内容,但有几个在线网站可供你试用,例如regex101和(更丰富多彩的)regexr。
答案 1 :(得分:0)
有时你需要egrep。
egrep "first substring|second substring" file
如果你有很多子串,你可以先把它们放在变量中
findalot="first substring|second substring"
findalot="${findalot}|third substring"
findalot="${findalot}|find me too"
skipsome="notme"
skipsome="${skipsome}|dirty words"
egrep "${findalot}" file | egrep -v "${skipsome}"
答案 2 :(得分:0)
使用" -f"在grep。 在文件中写下你想要匹配的所有字符串(比如说pattern_file,字符串列表应该是每行一个) 并使用下面的grep
grep -f pattern_file file > output_file