我有以下问题:
我有一个名为 fruits.txt 的巨大文件,如下所示:
>apple
dslksdlksdlsdksdsdlkdlsdksdsdsdk
ksdlsdlskdlsdklsdksdlksdlkdlksdk
>orange
sakalksalksalksalksalksalksalsak
dslksdlksdlsdksdsdlkdlsdksdsdsdk
ksdlsdlskdlsdklsdksdlksdlkdlksdk
dslksdlksdlsdksdsdlkdlsdksdsdsdk
ksdlsdlskdlsdklsdksdlksdlkdlksdk
>pineapple
sakalksalksalksalksalksalksalsak
dslksdlksdlsdksdsdlkdlsdksdsdsdk
ksdlsdlskdlsdklsdksdlksdlkdlksdk
我在 list.txt 中有一个我想要的水果列表,如下所示:
>orange
>apple
>pineapple
>etc.
我想要做的是grep包含在“list.txt”中的所有单词,这些单词可以出现在fruits.txt中,并放入一个result.txt文件中,该文件应如下所示:
>orange
sakalksalksalksalksalksalksalsak
dslksdlksdlsdksdsdlkdlsdksdsdsdk
ksdlsdlskdlsdklsdksdlksdlkdlksdk
dslksdlksdlsdksdsdlkdlsdksdsdsdk
ksdlsdlskdlsdklsdksdlksdlkdlksdk
不幸的是,我已经尝试过
fgrep -f list.txt fruits.txt
,但结果只是每个水果的第一道),例如:
橙
所以我尝试使用以下命令:
sed -n -e '/orange/,/>/ p' fruits.txt | sed '$d' > results.txt
它有效......但一次只有一个条目......
我的想法是'/orange/
用 list.txt 替换。
我试图把它放在一个“for循环”中,但它不起作用。
你们有什么帮助吗?