Remplacer une chaîne de ligne par un fichier

Salut besoin de remplacer une chaîne dans le fichier uniquement dans la nième ligne de fichier

fichier1

hi this is line 1 hi this is line 2 hi this is line 3 hi this is line 4 

Je dois remplacer «salut» uniquement à la ligne 2

expert comme ci-dessous

  hi this is line 1 Hello this is line 2 hi this is line 3 hi this is line 4 

J’ai essayé en créant un fichier temporaire

  sed -n 2p file1 > temp1 perl -pi -e 's/hi/Hello/g' temp1 \\I sortinged to replace temp1 with line 2 in file1 sed -i '2d' file1 \\after this I failed to insert temp1 as a 2nd line in file1 

Aidez-moi à remplacer une chaîne dans un fichier de la Nième ligne (sans fichier temporaire est préférable ..).

Je vous remercie

Cela pourrait fonctionner pour vous:

 sed -i '2s/hi/Hello/' file 

La réponse ci-dessus est correcte, mais je suis tenté de mettre la variante AWK juste à titre de référence.

 awk 'NR==2{gsub("hi","Hello",$1)}; {print $0}' file > newfile