Я относительно новичок в создании сценариев bash, начав с необходимости управлять своими симуляторами на суперкомпьютерах. В настоящее время я застрял в написании сценария для изменения определенных строк в моих файлах pbs.Замена определенных строк в нескольких файлах с помощью bash
Есть две стадии моей проблемы. Во-первых, мне нужно заменить несколько строк в текстовом файле (другой скрипт) и перезаписать этот файл для моего последующего использования. Грубая идея заключается в том:
Заменить строки 27, 28 и 29
'filename005'
с'text1=000'
,'text2=005'
и'text3=010'
Далее, я хотел бы сделать это рекурсивно для набора текстовых файлов с нумерацией суффиксы, а нумерация влияет на замененный текст.
Мой код до сих пор:
#!/bin/bash
for ((i = 1; i < 10; i++))
do
let NUM=i*5
let OLD=NUM-5
let NOW=NUM
let NEW=NUM+5
let FILE=$(printf "filename%03g" $NUM)
sed "27 c\text1=$OLD" $FILE
sed "28 c\text2=$NOW" $FILE
sed "29 c\text3=$NEW" $FILE
done
Я знаю, что есть некоторые ошибки в последних 4 строк моего кода, и я до сих пор изучаю на правильном пути к реализации sed
. Цените любые советы!
Спасибо! CS
Более устойчивый подход может заключаться в том, чтобы ваши сценарии считывали свои параметры из файла конфигурации или набора переменных среды. – tripleee