A partir do que você descreve, você não precisa de um array. O comprimento da matriz seria igual ao número de palavras. Existe um comando para isso: wc
("contagem de palavras").
No entanto, olhando para estes comandos:
% bl0ck_qu0te% Meu palpite é que o que você realmente quer é: extrair a coluna 10 das linhas que começam com <
ou >
:
files=($(diff -w file1 file2 | awk '/^[<>]/ {print $10}') )
Ainda melhor usando readarray
/ mapfile
para evitar sub-shells (obrigado @kos para a dica) :
readarray files < <(diff -w file1 file2 | awk '/^[<>]/ {print $10}')