简体   繁体   中英

using bash to loop a script with multiple conditions

I am attempting to add a parameter based on an additional list 'list2.txt' that I have created and I am not quite sure how to implement it.

My running code

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

But I want to add the following condition with based on a new list... and I am not quite sure how to implement it into my working script

sed "s/Apple/__/g"

sed allows several ways to supply multiple commands. You can give them individually with -e or just write them into a single script string.

GNU sed allows commands on the same line to be separated with semicolons, and is genrally what you will find, but if you don't have that version you can use embedded newlines. As long as it's quoted it will work fine.

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

or

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

These are both valid.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM