У меня есть несколько таблиц, в которых мне нужно заменить несколько значений. У меня есть разные команды sed
и tr
, которые отлично работают, когда я применяю их к одному файлу.
Но почему-то, когда я хочу построить цикл из этих команд, он вообще не работает. Вот мой цикл:
#!/bin/bash
in_dir=/home/stevens/SUMARIO/regional_model/data/basin
stations="almourol alton cuntan eldeim farakka koulikoro lobith louth olivenca stolb tangnaihai"
gcms="gfdl-esm2m hadgem2-es ipsl-cm5a-lr miroc-esm-chem noresm1-m"
scenarios="rcp8p5"
for station in ${stations};do
echo "go to directory"
cd ${in_dir}/${station}
for gcm in ${gcms};do
for rcp in ${rcps};do
cd ${in_dir}/${station}
echo "replace datum"
sed 's/"datum"/"YEAR-MONTH-DAY"/g' ${station}_${gcm}_${scenario} > ${station}_${gcm}_${scenario}.c
echo "delete hour"
sed 's/ 12:00:00//g' ${station}_${gcm}_${scenario}.c > ${station}_${gcm}_${scenario}.cs
echo "replace - to ;"
tr "-" ";" < ${station}_${gcm}_${scenario}.cs > ${station}_${gcm}_${scenario}.csv
rm ${station}_${gcm}_${scenario}.cs ${station}_${gcm}_${scenario}.c
done
done
done
Кто-нибудь знает, почему этот цикл не работает.