【发布时间】:2014-05-20 00:03:56
【问题描述】:
我还有一个问题
我有这个数据集
1955|1;.;.;.;.;.;.;
1955|1;.;.;.;.;.;.;
1955|1;.;.;.;.;.;.;
1955|2;.;.;.;.;.;.;
1955|2;.;.;.;.;.;.;
1955|2;.;.;.;.;.;.;
1955|3;.;.;.;.;.;.;
1955|3;.;.;.;.;.;.;
1955|3;.;.;.;.;.;.;
1955|4;.;.;.;.;.;.;
1955|4;.;.;.;.;.;.;
1955|4;.;.;.;.;.;.;
1956|1;.;.;.;.;.;.;
1956|1;.;.;.;.;.;.;
下面是我想要的结果:
1955|1;.;.;.;.;.;.;
1955|2;.;.;.;.;.;.;
1955|3;.;.;.;.;.;.;
1955|4;.;.;.;.;.;.;
1955|5;.;.;.;.;.;.;
1955|6;.;.;.;.;.;.;
1955|7;.;.;.;.;.;.;
1955|8;.;.;.;.;.;.;
1955|9;.;.;.;.;.;.;
1955|10;.;.;.;.;.;.;
1955|11;.;.;.;.;.;.;
1955|12;.;.;.;.;.;.;
1956|1;.;.;.;.;.;.;
1956|2;.;.;.;.;.;.;
我正在使用这个 sn-p 的代码
for file in /cygdrive/c/work/studies/project/data/trim/"$datenow"/*v3.tsv;
do
awk -F\| '$1!=l{c=$2}{$2=c++}{l=$1}1' OFS=\| "${file}" > "${file%.*}v4.${file##*.}"
done`
但是,它并没有按我预期的方式工作,因为它只给了我这个
1955|1
1955|2
1955|3
1955|4
1955|5
1955|6
1955|7
1955|8
1955|9
1955|10
1955|11
1955|12
1956|1
1956|2
我做错了什么?
已编辑:我已经尝试了所有可能的变化,但它没有给我我期望的结果,-F\| 和 OFS=\; 或 -F\; 和 OFS=\| 但是无济于事
【问题讨论】:
-
有点疯狂...
标签: awk