我有一个数据文件,它由多行包含 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