如何使用linux延迟列?例如,在SAS中,以下代码可以使用。
lag2=lag(error2);
lag3=lag2(error2);
lag4=lag3(error2);
lag5=lag4(error2);
输入如下
id1 id2 id3 numb error
1 2 1 1_135098 OK
0 2 0 1_267940 code3
0 0 0 1_305793 OK
0 2 0 1_393248 code3
0 5 1 1_434180 OK
0 2 0 1_471078 code3
我想要的输出是,我在第五列落后了4次
id1 id2 id3 numb error lag2 lag3 lag4 lag5
1 2 1 1_135098 OK . . . .
0 2 0 1_267940 code3 OK . . .
0 0 0 1_305793 OK code3 ok . .
0 2 0 1_393248 code3 ok code3 ok .
0 5 1 1_434180 OK code3 ok code3 ok
0 2 0 1_471078 code3 ok code3 ok code3
答案 0 :(得分:0)
创建了2个带有上述内容的文件
01HW497089:tmp Controller $ cat l.txt .. 好 .. code3好.. 好的code3好吧.. code3 ok code3好的 ok code3 ok code3
01HW497089:tmp Controller $ cat h.txt
1 2 1 1_135098 OK
0 2 0 1_267940 code3
0 0 0 1_305793好的
0 2 0 1_393248 code3
0 5 1 1_434180好的
0 2 0 1_471078 code3
输出
命令粘贴h.txt l.txt
01HW497089:tmp Controller $ paste h.txt l.txt 1 2 1 1_135098好.. 0 2 0 1_267940 code3 ok .. 0 0 0 1_305793 OK code3 ok .. 0 2 0 1_393248 code3 ok code3 ok .. 0 5 1 1_434180 OK code3 ok code3 ok 0 2 0 1_471078 code3 ok code3 ok code3 ls-ltr 01HW497089:tmp控制器$
答案 1 :(得分:0)
下面是脚本和输入文件
我检查它工作正常
h.txt
1 2 1 1_135098 OK
0 2 0 1_267940 code3
0 0 0 1_305793好的
0 2 0 1_393248 code3
0 5 1 1_434180好的
0 2 0 1_471078 code3
for z in 1 2 3 4 5 6 做 for j in“..”“ok ..”“code3 ok ..”“ok code3 ok ..”“code3 ok code3 ok”“ok code3 ok code3” 做 echo $ j sed“”$ z“s /.*/& amp;'$ j'/ g”h.txt DONE 完成