TransWikia.com

Записать в указаную строку текстогого файла значение переменной на bash

Stack Overflow на русском Asked by vlad craciun on December 7, 2021

Есть в наличии файл скажем test.txt с таким содержанием:

text1 
text2
3 
44 
text5

подскажите пожалуйста как на bash реализовать запись изменение скажем 3 строки, и по ходу выполнения скрипта изменять 5 строку и так далее,номер изменяемой строки также считывать из переменной, спасибо!

One Answer

Если вам нужно брать номер строки из переменной, то просто подставьте значение этой переменной в ваш скрипт. Вот пример, который заменяет третью строчку на 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
$

Answered by Ainar-G on December 7, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP