我有两个txt文件:patterns.txt和fulldb.txt
我想输出fulldb.txt的行,其中包含patterns.txt中的一行,所以我这样做:
fgrep -f patterns.txt fulldb.txt > output.txt
这很有效。
但是现在我想让输出按照patterns.txt中的顺序排序。我能做到:
copy /y NUL output_sorted.txt > NUL
for /F "tokens=*" %%J in (patterns.txt) do (
fgrep "%%J" fulldb.txt >> output_sorted.txt
)
但是当文件足够大时,这会在运行时花费太多时间。
有更好的解决方案吗?
由于
答案 0 :(得分:2)
我看到你在cmd上了,但你在评论中说你的bash解决方案很好,
以下内容可能有效:
while read pat; do fgrep "${pat}" fulldb.txt >> output_sorted.txt; done < patterns.txt