Eu tenho um arquivo de
entrada como arquivo de entrada:
a b c d e f g h
i j k l m n o p q r
s t u v w x
e minha saída deve ser
o arquivo de saída:
a b c d
a b e f
a b g h
i j k l
i j m n
i j o p
i j q r
s t u v
s t w x
Algum comando?
É um loop bastante básico pelos campos. Notas:
Se houver menos de três campos, toda a linha será ignorada. Se você quiser imprimi-lo de qualquer maneira, use isso:
Uma linha de entrada com 3, 5 ou 7 campos (ou qualquer número ímpar maior) gerará sua linha de saída final com um espaço à direita como se (respectivamente) o 4º, 6º ou 8º campo estivesse lá na entrada como um campo vazio.
Espaço simples como separador de campo (
-F ' '
) é um caso especial que corresponde a um ou mais espaços e/ou tabulações. Se você quiser que dois espaços consecutivos sejam interpretados como dois delimitadores (com um campo vazio entre eles), use uma expressão regular que corresponda a um único espaço:-F '[ ]'
.Você mencionou arquivos de entrada e saída , então provavelmente deseja usar redirecionamentos:
onde
awk …
representa o comando de sua escolha.