给定一条线
100 90 80 70 60 50 40 30 20 10 0
和一个文件
1
2
3
4
5
6
7
8
9
10
11
如何将这两者合并到一个文件中
100 1
90 2
80 3
70 4
60 5
50 6
40 7
30 8
20 9
10 10
0 11
我猜sed
和awk
是我的朋友,但没有与他们的经验......
或使用tr
and paste
:
$ tr ' ' '\n' < file1 | paste - file2
100 1
90 2
80 3
70 4
60 5
50 6
40 7
30 8
20 9
10 10
0 11
$ cat file2
1
2
3
4
5
6
7
8
9
10
11
$
$ cat file1
100 90 80 70 60 50 40 30 20 10 0
$
$ $ gawk '!NF{next} NR==FNR{a[++nr1]=$0;next} {print $0,a[++nr2]}' file2 RS="[[:space:]]+" file1
100 1
90 2
80 3
70 4
60 5
50 6
40 7
30 8
20 9
10 10
0 11
尝试这样做:
paste <(printf '%s\n' 100 90 80 70 60 50 40 30 20 10 0) file.txt
在这张照片中paste
,流程替代&printf
是你的朋友 =)
100 1
90 2
80 3
70 4
60 5
50 6
40 7
30 8
20 9
10 10
0 11
另一个awk:
awk '{if(NR==1) split($0,N); else print N[FNR], $0}' file1 file2