如何保留以数字列表 (linux) 开头的行?
How do I keep lines starting with a list of numbers (linux)?
我有一个如下所示的文件:
0 123 word
1 324 word
2 234 word
3 53 word
4 666 word
5 23 word
6 4 word
...
我一直试图只保留以一些数字开头的行。我的文件中有数字,如下所示:
2
4
5
...
所以最终文件应该是这样的:
2 234 word
4 666 word
5 23 word
...
我想我可以使用 grep (grep "2" input > output) 获取以特定字符开头的行,但是一个一个地做是不可行的,我不知道如何做一个列表文件中的数字。有人可以帮我吗?
使用 GNU awk:
awk 'NR == FNR {a[]; next} in a {print}' file1 file2
其中 file1
包含要保留的数字,每行一个,file2
是要过滤的文件。
我有一个如下所示的文件:
0 123 word
1 324 word
2 234 word
3 53 word
4 666 word
5 23 word
6 4 word
...
我一直试图只保留以一些数字开头的行。我的文件中有数字,如下所示:
2
4
5
...
所以最终文件应该是这样的:
2 234 word
4 666 word
5 23 word
...
我想我可以使用 grep (grep "2" input > output) 获取以特定字符开头的行,但是一个一个地做是不可行的,我不知道如何做一个列表文件中的数字。有人可以帮我吗?
使用 GNU awk:
awk 'NR == FNR {a[]; next} in a {print}' file1 file2
其中 file1
包含要保留的数字,每行一个,file2
是要过滤的文件。