Я делаю сценарий для преобразования некоторого Волшебства decklists от одного формата до другого. Я должен ввести код набора для каждой карты в конце строки, это идет. Мой код:
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
.
Проблемой был a \r
символ в конце каждой строки, о которой я не знал. Это заставляет курсор возвратиться к началу строки. Я заметил это путем попытки отозваться эхом "$cardname""|""$set_code"
какой вывод
|M13idic Slime