我在从文件文本中提取数据时遇到一些问题,我将向您展示一个示例。
这是文本文件的格式:
John England A
Kyle Canada P
Ash France P
Alex Italy C
Simon Germany C
Thomas Netherlands P
现在我需要做的是,在字段 1 上按字母顺序排序后,只选择具有特定第三字段的字段,如 P,并将它们放入另一个 .txt 文件中。
这将是新文件的正确输出:
Ash
Kyle
Thomas
如您所见,它们是按字母顺序排序的,只有第三个字段值为 P 的才会放入新文件中。
这是我的结论:
cut -d ' ' -f1 file1.txt | sort
基本上只是选择第一个字段并按字母顺序对其进行排序,我无法解决的是现在如何只选择具有 P 作为第三个字段值的字段(不更改刚刚创建的顺序)。
感谢任何愿意提供帮助的人。
最佳答案
您可以为此使用 awk
:
awk '$3=="P"{print $1}' file1.txt | sort > file2.txt
或者使用grep
:
grep ' P$' file1.txt | sort
关于linux - 在文本文件的指定字段中提取包含单词的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58597188/