Я создаю скрипт для преобразования некоторых волшебных декклистов из одного формата в другой. Мне нужно вставить установленный код для каждой карты в конец строки, в которой он включен. Мой код:
sed -i "$line_number""s/$/""|""$set_code"/ "$deck_file"
Где $line_number - строка в файле, $set_code - текст, который нужно добавить, а $deck_file - это файл, который я редактирую, все уже определенные в коде .
Я хочу, чтобы эта строка выполняла:
1 Acidic Slime
и превратила ее в
1 Acidic Slime|M13
. Вместо этого она добавляет новую строку и выходы
1 Acidic Slime
|M13
В файле. Любая помощь приветствуется, я уверен, что я просто что-то пропустил в sed. Я открыт для использования awk или любой другой команды, это необязательно sed.
Проблема была символом \r в конце каждой строки, о которой я не знал. Это заставляет курсор вернуться к началу строки. Я заметил это, пытаясь эхо "$cardname""|""$set_code", которые выводят
|M13idic Slime
Проблема была символом \r в конце каждой строки, о которой я не знал. Это заставляет курсор вернуться к началу строки. Я заметил это, пытаясь эхо "$cardname""|""$set_code", которые выводят
|M13idic Slime