Записать в указаную строку текстогого файла значение переменной на bash
Есть в наличии файл скажем test.txt с таким содержанием:
text1
text2
3
44
text5
подскажите пожалуйста как на bash реализовать запись изменение скажем 3 строки, и по ходу выполнения скрипта изменять 5 строку и так далее,номер изменяемой строки также считывать из переменной, спасибо!
Ответы (1 шт):
Автор решения: Ainar-G
→ Ссылка
Если вам нужно брать номер строки из переменной, то просто подставьте
значение этой переменной в ваш скрипт. Вот пример, который заменяет
третью строчку на text3 и пятую строчку на
text555 на GNU sed:
$ line=3
$ sed -e "${line}ctext3" -i -- ./txt.txt
$ line=5
$ sed -e "${line}ctext555" -i -- ./txt.txt
$
Вот те же действия с помощью более переносимого POSIX ed:
$ line=3
$ more <<-EOF | ed -s -- ./txt.txt
> ${line}c
> text3
> .
> wq
> EOF
$ line=5
$ more <<-EOF | ed -s -- ./txt.txt
> ${line}c
> text555
> .
> wq
> EOF
$