我有一个文本文件,我正在搜索名字“dhillon”,该文本文件包含大量数据,但我试图找到名称为“dhillon”的文本文件的第一部分。
我尝试过grep dhillon name.txt
,它返回所有dhillon
名字,但有些dhillon
名字是姓氏。我需要第一行文本,即名字dhillon
。
答案1
尝试:“nl name.txt | grep dhillon”
这会将行号添加到每行的前面,返回的第一个行号是文件中第一个 dhillon 实例。你就会知道去哪里寻找它。
编辑:opps,刚刚看到 dhillon 可能是姓氏...尝试:“awk -F, '{ if ($2 == dhillon) print $0 }' name.txt”或“ nl name.txt | awk -F, '{ if ($3 == dhillon) print $0 }' "
第二次编辑
您说您的数据文件的布局如下:
linenumber name name number number height
正确吗?它看起来像这样吗:1 Terry Wendt 7 13 2M
或者像这样:1TerryWendt7132M
或者像这样:1,Terry,Wendt,7,13,2M
这就是为什么当您提出问题时人们要求提供示例数据。如果我不知道您的数据实际上是如何布局的,我无法给您准确的答案。作为一个简单的文本数据文件审查:
- 通常,每一行都是一个“记录”。
- 每个数据元素都是一个“Field”,例如“firstname”。
- 每个字段之间有一个分隔符,例如逗号、空格、制表符或冒号。除非...
- 每个字段都是长度分隔的 - IE,“名字”从第一个空格开始,长度为 26 个字符。下一个字段可能是“lastname”,它从位置 27 开始,长度为 26 个字符......
您能提供几条数据记录(行)吗?或者显示您的数据的准确表示?如果没有,没有人可以帮助你。