すでに存在する2つの列の間にファイルfile1 (.txt)
の2番目の列をコピーしたいと思います。.csv
(file2)
前任者。ファイル1(.txt)
aaaaa AA
bbbbb A
ccccc AB
ファイル2(.csv)
vnght 234 ghy
thryu 567 guuu
ghru 456 guuu
出力(.csv)
vnght 234 AA ghy
thryu 567 A guuu
ghru 456 AB guuu
どうすればいいですか?
ファイル1、列2をコピーしたい..
これはfile1で、コピーしたい列は2番目の列です。
3列と4列の間の列をコピーしたいファイル。
ベストアンサー1
そしてpaste
cut
paste -d, <(cut -d',' -f 1,2 file2.csv) \
<(cut -d$'\t' -f2 file1.txt) \
<(cut -d',' -f 3 file2.csv)
テスト
$ cat file1.txt
aaaaa AA
bbbbb A
ccccc AB
$ cat file2.csv
vnght,234,ghy
thryu,567,guuu
ghru,456,guuu
$ paste -d, <(cut -d',' -f 1,2 file2.csv) \
<(cut -d$'\t' -f2 file1.txt) \
<(cut -d',' -f 3 file2.csv)
vnght,234,AA,ghy
thryu,567,A,guuu
ghru,456,AB,guuu
file2.csvの右側に追加の列があり、目標がこれらの列を維持することである場合は、スクリプトを次のように調整する必要があります。
$ paste -d, <(cut -d',' -f1,2 file2.csv) \
<(cut -d$'\t' -f2 file1.txt) \
<(cut -d',' -f3- file2.csv)
vnght,234,AA,ghy
thryu,567,A,guuu
ghru,456,AB,guuu