使用 awk 提取单词

使用 awk 提取单词

我有一个数据文件,它由多行包含 FG=???? 的行组成(其中 ???? 代表每行不同的四位数字)。

我想从每一行中提取它并将其保存到新文件中。可以使用 awk 来实现吗?

我一直使用 /this/ 来提取包含单词 this 的行。有没有类似的方法可以从一行中提取单词?

答案1

您可以从每一行中选择一定范围内的字符:

awk '{print substr($0,4,4)}' file.txt

针对你的情况特别说明:

awk -F 'FG=' '{print substr($2,0,4)}' file.txt

您还可以使用cut

cut -b4-7 file.txt

答案2

如果您发布实际数据的示例,我可以为您提供纯 awk 答案。在没有具体线索的情况下,您可以随时尝试 Perl:

perl -ne '/FG=(\d+)/; print "$1\n"'  infile.txt > outfile.txt

相关内容