2017-01-11 4 views
1

Я работаю над скриптом Shell, и мне нужно заменить только номер в строке 13 номером из другого файла.Shell - заменить только номер на определенную строку с номером из другого файла

file1:

line1 
line2 
... 
Text: 95% 
... 

file2:

98,4256

Результат должен выглядеть следующим образом:

файл1:

... 
Text: 98.4256% 
... 

В основном нужно заменить номер прежде, чем% в файла1 на линии 13 с номером от file2 (количество в file2 находится на линии 1).

Заранее благодарим за любые советы.

ответ

0
sed "4 s/:.*/: $(cat file2)%/" file1 
line1 
line2 
... 
Text: 98.4256% 
... 

Изменить 4 на любое другое ваше требование.

Содержание FILE1

cat file1 
line1 
line2 
... 
Text: 95% 
... 

Содержание file2

cat file2 
98.4256 
+0

Спасибо. Поскольку я также хотел сохранить изменения и не могу использовать '-i' в своей системе HP-UX, мне удалось сохранить изменения с помощью этого« обходного пути »:' sed '4 s /:.*/: $ (cat file2)%/"file1> file1.tmp && mv file1.tmp file1' –

Смежные вопросы