Stack Overflow на русском Asked by vlad craciun on December 7, 2021
Есть в наличии файл скажем test.txt с таким содержанием:
text1
text2
3
44
text5
подскажите пожалуйста как на bash реализовать запись изменение скажем 3 строки, и по ходу выполнения скрипта изменять 5 строку и так далее,номер изменяемой строки также считывать из переменной, спасибо!
Если вам нужно брать номер строки из переменной, то просто подставьте
значение этой переменной в ваш скрипт. Вот пример, который заменяет
третью строчку на 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
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP