同じ行数の 2 つのファイルがあります。最初のファイルの各行の最初の単語を取得し、2 番目のファイルの各行の先頭に配置する必要があります。vi エディターまたはその他のスクリプト言語を使用してそれを行う方法を知りたいですか?
質問する
798 次
1 に答える
2
1 つの方法は、次を使用することpaste
です。
$ cat file1
one file 1
two file 1
three file 1
four file 1
five file 1
$ cat file2
1 file 2
2 file 2
3 file 2
4 file 2
5 file 2
$ paste -d' ' <(awk '{print $1}' file1) file2
one 1 file 2
two 2 file 2
three 3 file 2
four 4 file 2
# Store changes back to file2
$ paste -d' ' <(awk '{print $1}' file1) file2 > tmp && mv tmp file2
プロセス置換bash
をサポートしていない古いバージョンがある場合は、次のことができます。
$ awk '{print $1}' file1 | paste -d' ' - file2
one 1 file 2
two 2 file 2
three 3 file 2
four 4 file 2
five 5 file 2
cut -d' ' -f1 file1
の代わりに使用できますawk '{print $1}' file1
。
于 2013-03-07T13:05:52.453 に答える