我有几个具有以下命名风格的表:
INSTITUTE_MODEL_SCENARIO_RIVER.txt
例如:
wbm_gfdl_rcp8p5_mississippi.txt
wbm_hadgem_rcp8p5_mississippi.txt
wbm_miroc_rcp8p5_mississippi.txt
matsiro_gfdl_rcp4p5_mississippi.txt
matsiro_ipsl_rcp8p5_mississippi.txt
我想构建一个输出表,将文件名中包含INSTITUTE
和名称的那些分组。SCENARIO
为此,我有以下循环:
for institute in wbm matsiro
do
for scenario in rcp4p5 rcp8p5
do
paste "$institute"_*_"$scenario"* > "$hyd_model"_"$scenario".txt
done
done
不幸的是,在将表格附加到第一个表格时,我想去掉前三个列(以避免冗余)。我知道在命令行中这样做:
paste wbm_gfdl_rcp8p5_mississippi.txt <(cut -f4 wbm_hadgem_rcp8p5_mississippi.txt) <(cut -f4 wbm_miroc_rcp8p5_mississippi.txt) > output.txt
但是我没有成功地在for
循环中实现它。欢迎任何提示!
有趣的问题。我会使用数组来捕获相关文件,并使用递归函数来粘贴每个附加文件: