与えられた行
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
私はsed
とawk
は私の友達だと思いますが、彼らとの経験はありません...
またはとを使用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
$ 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