использование bash для зацикливания скрипта с несколькими условиями - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь добавить параметр на основе созданного мной дополнительного списка 'list2.txt', и я не совсем уверен, как его реализовать.

Мой рабочий код

while read i
do
sed "s/Pie/$i/g" old_script.sh > new_script.$i.sh
sbatch new_script.$i.sh
done<list.txt

Но я хочу добавить следующее условие на основе нового списка ... и я не совсем уверен, как внедрить его в мой рабочий скрипт

sed "s/Apple/__/g"

1 Ответ

0 голосов
/ 15 ноября 2018

sed допускает несколько способов подачи нескольких команд. Вы можете задать их индивидуально с помощью -e или просто записать их в одну строку сценария.

GNU sed позволяет разделять команды в одной строке точками с запятой, и это, как правило, то, что вы найдете, но если у вас нет этой версии, вы можете использовать встроенные символы новой строки. Пока он указан, он будет работать нормально.

sed "s/Pie/$i/g; s/Apple/__/g;" old_script.sh # GNU specific but common

или

sed "
  s/Pie/$i/g
  s/Apple/__/g
" old_script.sh # general, should always work.

Они оба действительны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...