первый раз постер здесь, и я довольно долго искал, но не нашел темы, которую я мог бы понять достаточно хорошо, чтобы решить мою проблему.
У меня есть цикл в моем сценарии, который генерирует определенные переменные с помощью разграничения cut -d, и я хочу использовать эти переменные в качестве входных данных для sed, чтобы изменять файл по-разному на каждой итерации. Мой текущий сценарий:
Мой текущий скрипт выглядит так:
для ввода в $(tail -n 3 filea)
делать
a="$(echo $input | cut -d "," -f 1)"
b="$(echo $input | cut -d "," -f 2)"
c="$(echo $input | cut -d "," -f 3)"
эхо $а
эхо $b
эхо $c
хвост -n 1 файлb | sed 's,'$a','$c',2'
сделано
С выходом:
К
26
Т
КТТХХХХХХХХХХХХХХХХХХХХХХХХХ
п
27
Е
ККТХХХХХХХХХХХХХХХХХХХХХХХХХ
С
31
п
ККТХХХХХХХХХХХХХХХХХХХХХХХХХ
Где, например, строка в позиции 31 должна быть заменена на S, если это P.
Мой текущий статус заключается в том, что я получаю переменные a и c, правильно переданные в команду sed, и соответствующие строки заменяются, но меняются на sed 's,'$a','$c','$b''
останавливает любую замену, и запрашивается исходная (последняя) строка файла b.
Я знаю, что задать хороший вопрос — это совсем другая тема, но я надеюсь, что кто-нибудь поможет мне понять написанное здесь, чтобы я мог продолжать изучать программирование, поскольку я часто переступаю через подобные ошибки.