Usando o awk
Para remover espaços em branco das linhas 2, 4 e 5:
$ awk 'NR==2 || NR==4 || NR==5 {gsub(/ /,"");} 1' file
f h t s q e g h c h t
fhtrfhvfdgn
q a z x s w e d c v f
fhbchthbvhf
plkoijuhygt
t f r d c v b h n j u
No awk, NR
é o número da linha. A expressão lógica NR==2 || NR==4 || NR==5
seleciona as linhas de interesse para você. O comando gsub(/ /,"")
remove espaços em branco dessas linhas. A condição 1
é a abreviação enigmática do awk para imprimir a linha.
Usando sed
Para remover espaços em branco das linhas 2, 4 e 5:
$ sed '3n; 2,5 s/ //g' file
f h t s q e g h c h t
fhtrfhvfdgn
q a z x s w e d c v f
fhbchthbvhf
plkoijuhygt
t f r d c v b h n j u
Aqui, usamos uma lógica ligeiramente diferente: removemos espaços em branco para todas as linhas de 2 a 5, exceto a linha 3. Isso funciona da seguinte maneira: a expressão 3n
informa que, quando se trata da linha 3, imprima e pule para a próxima linha. Caso contrário, o comando '2,5 s / // g diz ao sed para remover os espaços em branco de todas as linhas de 2 a 5.
Para remover todo o espaço em branco, não apenas os espaços em branco
awk 'NR==2 || NR==4 || NR==5 {gsub(/[[:space:]]/,"");} 1' file
Ou:
sed '3n; 2,5 s/[[:space:]]//g' file