我有大量具有以下命名风格的文件:
WBM_MIROC_rcp8p5_mississippi.txt
WBM_GFDL_rcp8p5_nosoc_mississippi.txt
DBH_HADGEM_rcp4p5_co2_mississippi.txt
HMH_IPSL_rcp4p5_mississippi.txt
Run Code Online (Sandbox Code Playgroud)
这些文件表示表(其中一些具有制表符分隔符和其他一个空格分隔符),如下所示:
YEAR MONTH DAY RES
1971 1 1 1988
1971 1 2 3829
...
Run Code Online (Sandbox Code Playgroud)
我想将所有rcp8p5名称中的文件分组在一张大表中;并对rcp4p5名称中的文件执行相同操作。但是,我只想粘贴每个文件的 4 列,以避免前三列总是相同的冗余。我目前正在使用以下脚本:
ls |
awk -F_ '{ i=$1; m=$2; s=$3; u=$4;
if(f[s]=="")add = $0;
else add = sprintf("<(cut -f4 %s)",$0);
f[s] = f[s] " " add }
END{ for(insc in f)
printf "paste%s > out_%s.txt\n",f[insc],insc
}' |bash
Run Code Online (Sandbox Code Playgroud)
不清楚为什么,但输出不符合预期。我有以下输出:
YEAR MONTH DAY RES YEAR MONTH DAY RES YEAR MONTH DAY RES
1971 1 1 187 1971 1 …Run Code Online (Sandbox Code Playgroud) 我有一个 bash 脚本,它读取文件名、选择数据、构建表,然后添加标题。不幸的是,在添加标题并提供输出文件时,我收到以下错误消息:
./big_table_rcp.sh: line 153: /tmp/out: Permission denied
Run Code Online (Sandbox Code Playgroud)
它与以下行链接:
| cat - out_${scenario}.txt > /tmp/out && mv /tmp/out ${gauge}_${scenario}.txt
Run Code Online (Sandbox Code Playgroud)
有谁知道如何访问输出文件?
我有几个 ASCII 文件,包含一列数据,如下所示:
DATA
1564
1896
1238
1479
1562
1894
1489
....
Run Code Online (Sandbox Code Playgroud)
我需要实现一个包含日期的列。我知道每个数据集都始于 1900-01-01(年-月-日)。因此,我想按如下方式重新格式化每个文件:
DATE DATA
1900-01-01 1564
1900-01-02 1896
1900-01-03 1238
1900-01-04 1479
1900-01-05 1562
1900-01-06 1894
1900-01-07 1489
.....
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
I have several csv table as follow:
YEAR;MONTH;DAY;RES1;RES2
1971;1;1;1206.1;627
1971;1;2;1303.4;654.3
1971;1;3;1248.9;662
1971;1;4;1188.8;666.8
Run Code Online (Sandbox Code Playgroud)
From this I would like to create a new column that concatenate the values of the columns MONTH and DAY. Therefore the output should look like that:
YEAR;MONTH;DAY;RES1;RES2;MONTHDAY
1971;1;1;1206.1;627;11
1971;1;2;1303.4;654.3;12
1971;1;3;1248.9;662;13
1971;1;4;1188.8;666.8;14
Run Code Online (Sandbox Code Playgroud)