Com grep
e pcre
, assume o espaço em branco como delimitadores de coluna
$ cat ip.txt
height 100 3 name
gray 125 8 yellow
base 100 5 age
red 455 9 tea
level 100 7 yak
Correspondendo 100
em qualquer coluna e extrair texto da segunda coluna depois disso
$ grep -oP '\b100\s+\S+\s+\K\S+' ip.txt
name
age
yak
Correspondendo 100
na segunda coluna e depois obtendo o texto da segunda coluna depois disso
$ grep -oP '^\S+\s+100\s+\S+\s+\K\S+' ip.txt
name
age
yak
Ambos usam lookbehind positivo - marcado por \K
. O primeiro usa \b
para marcar o limite de palavras (para evitar correspondências como 1100
)
Adicione > final_file
ao comando para salvar a saída