1

与えられた行

    100  90  80  70  60  50  40  30  20  10   0

とファイル

1
2
3
4
5
6
7
8
9
10
11

これら2つを1つのファイルに結合するにはどうすればよいですか

100 1
90  2
80  3
70  4
60  5
50  6
40  7
30  8
20  9
10  10
0  11

私はsedawkは私の友達だと思いますが、彼らとの経験はありません...

4

4 に答える 4

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
于 2013-02-14T16:20:57.157 に答える
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
于 2013-02-14T16:19:12.960 に答える
0

これを試してみてください:

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
于 2013-02-14T16:27:53.310 に答える
0

別の awk:

awk '{if(NR==1) split($0,N); else print N[FNR], $0}' file1 file2
于 2013-02-14T22:10:55.467 に答える