Você pode selecionar um intervalo de caracteres de cada linha:
awk '{print substr($0,4,4)}' file.txt
Especificamente para o seu caso:
awk -F 'FG=' '{print substr($2,0,4)}' file.txt
Você também pode usar cut
:
cut -b4-7 file.txt
Eu tenho um arquivo de dados que é composto de linhas que contêm FG = ???? (onde ???? representa um número de quatro dígitos que é diferente em cada linha).
Eu gostaria de extrair isso de cada linha e salvá-lo em um novo arquivo. Isso é possível fazer usando o awk?
Eu tenho usado o / this / para extrair linhas contendo a palavra this. Existe algo semelhante para extrair uma palavra de uma linha?
Você pode selecionar um intervalo de caracteres de cada linha:
awk '{print substr($0,4,4)}' file.txt
Especificamente para o seu caso:
awk -F 'FG=' '{print substr($2,0,4)}' file.txt
Você também pode usar cut
:
cut -b4-7 file.txt
Eu poderia lhe dar uma resposta awk pura se você postar um exemplo de seus dados reais. Na ausência de pistas específicas, você pode sempre tentar Perl:
perl -ne '/FG=(\d+)/; print "$1\n"' infile.txt > outfile.txt