переменные в одинарных кавычках не расширяются, в двойных кавычках они используют двойные кавычки в этом случае.
sed "s/draw($prev_number;n_)/draw($number;n_)/g" file.txt > tmp
Вы также можете заставить его работать с eval
, но не делайте этого! !
Попробуйте добавить конструктор в свой класс RootObject.
public class RootObject
{
public List<Book> Book { get; set; }
public RootObject()
{
Book = new List<string>();
}
}