2つのファイルがあります。
ファイル01:
line1
line2
line3
ファイル02:
A
B
C
欲しい
line1 A
line2 B
line3 C
Perlスクリプトを書くこともできますが、それを必要としない場合は良いでしょう。
私は明らかなgrep -o '^' file02 >> file01を使ってみました。
しかし、これは生産します
line1
line2
line3
A
B
C
これは簡単なことですが、「man grep」(grepマニュアル)では見つかりません。
答え1
両方のファイルを一緒に「圧縮」するには、次のpaste
コマンドを使用します。
paste -d ' ' file01 file02
答え2
〜のように@1-crが提案しましたpaste
これを行う最善の方法はコマンドです。完全性のために、以下はいくつかの異なるオプションです。
Bashとファイル記述子(で適応ここ):
exec 3<file02 while read foo; do read -u3 bar; echo $foo $bar; done < file01 exec 3>&-
ここでは、.というファイル記述子を作成します
3
。file02
次に、オプションを使用してread
ファイル記述子から変数を読み込みます-u
。最後に、通常のループが読み取られます。bar
3
while
foo
file01
真珠
perl -ne 'BEGIN{open($fh,"file02");@a=<$fh>} chomp; print "$_ $a[$.-1]"' file01
awk
/gawk
gawk 'BEGIN{f=ARGV[1]} { if(FILENAME==f){a[FNR]=$0} else{print a[FNR],$0} }' file01 file02