我正在尝试grep文件中的字符串列表并尝试获取文件中存在的字符串列表。有办法实现吗?
如果a,b在file.txt
中Eg: grep 'a\|b\|c' file.txt
output : a
b
答案 0 :(得分:2)
list_of_strings=( a b "hello world" )
grep -oF -f <(printf "%s\n" "${list_of_strings[@]}") file.txt
使用process substitution来处理打印的字符串数组,如文件,然后使用一些grep选项(检查您的手册页)来提取所需的字符串
另外,使用像你似乎想要的正则表达式替换:
grep -oE "$(IFS='|'; echo "${list_of_strings[*]}")" file