在文本文件中搜索名称

在文本文件中搜索名称

我有一个文本文件,我正在搜索名字“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

这就是为什么当您提出问题时人们要求提供示例数据。如果我不知道您的数据实际上是如何布局的,我无法给您准确的答案。作为一个简单的文本数据文件审查:

  1. 通常,每一行都是一个“记录”。
  2. 每个数据元素都是一个“Field”,例如“firstname”。
  3. 每个字段之间有一个分隔符,例如逗号、空格、制表符或冒号。除非...
  4. 每个字段都是长度分隔的 - IE,“名字”从第一个空格开始,长度为 26 个字符。下一个字段可能是“lastname”,它从位置 27 开始,长度为 26 个字符......

您能提供几条数据记录(行)吗?或者显示您的数据的准确表示?如果没有,没有人可以帮助你。

相关内容