给定一行
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
是我的朋友,但对他们没有经验......
答案 0 :(得分:3)
或使用tr
和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
答案 1 :(得分:1)
$ 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
答案 2 :(得分:0)
尝试这样做:
paste <(printf '%s\n' 100 90 80 70 60 50 40 30 20 10 0) file.txt
在此镜头中,paste
,进程替换&amp; printf
是你的朋友=)
100 1
90 2
80 3
70 4
60 5
50 6
40 7
30 8
20 9
10 10
0 11
答案 3 :(得分:0)
另一个awk:
awk '{if(NR==1) split($0,N); else print N[FNR], $0}' file1 file2