De acordo com os comentários, tenho que reformular essa resposta (code in bash)
Como informado nos comentários, se o seu objetivo é obter a primeira palavra da penúltima linha de arquivo1, a maneira correta é
WORDONE=$(tail -n2 file1 |head -n1 |grep 'REGEX Expression to get 1st word')
#or even this way that i tend to personally prefer:
WORDONE=$(tail -n2 file1 |head -n1 |awk -F"words delimiter" '{print $1}')
#tail will isolate the last two lines and then head will get the first of them = one line before end.
# In case of grep you need to built a regulare expression to give you the first word of this line.
# In case of awk you need to define the delimiter between words in this line (space, comma, etc) and awk will return to you the first word.
#To append wordone to a keyword in file2 you can use:
sed "s#$KEYWORD#$KEYWORD $WORDONE#" file2
#You can use g at the end of sed for global replacement of all $KEYWORD appearances.
#Otherwise only the first $KEYWORD will be replaced.
#To write replacement immediately to the file2 use 'sed -i'
Mais dicas: Se o valor que você está procurando é conhecido desde o começo, você não precisa de cauda e cabeça. Você apenas usa o termo de pesquisa no arquivo1.
WORD=$(grep "search term" file1)
PS: O padrão gnu grep retorna toda a linha quando o termo de busca é encontrado.
Comentário:
Seria melhor incluir exemplos de arquivo1 e arquivo2 para fornecer um código melhor. Estes são apenas conselhos; os resultados podem estar incorretos para o seu escopo real.