違い結果ファイルのコピー

違い結果ファイルのコピー

フォルダAとフォルダBという2つのフォルダがあります。

diffコマンドを使用して、2つのフォルダのファイルを比較しました。これで、一部のファイルはフォルダAでのみ利用可能で、一部のファイルはフォルダBでのみ利用可能であることを確認した後、これらの一意のファイルを両方のフォルダからフォルダCフォルダという名前のフォルダにコピーしようとしています。 AとB

どうすればいいですか?

ベストアンサー1

使用できるzshの配列減算と中括弧拡張機能、このように:

設定:

$ tree .
.
├── folderA
│   ├── file0
│   ├── file1
│   └── file2
├── folderB
│   ├── file2
│   ├── file3
│   └── file4
└── folderC

3 directories, 6 files


cd folderA
A=(*)
cd ../folderB
B=(*)
cd ..

実装する:

cp folderA/${^A:|B} folderB/${^B:|A} folderC

結果:

$ tree folderC
folderC
├── file0
├── file1
├── file3
└── file4

0 directories, 4 files

これら2つの設定手順では、それぞれフォルダAとBにファイル名を含む配列(および名前)を作成しますAB

実行フェーズでは、配列からcp配列の拡張(すべてプレフィックスが付く)と配列から配列を引いた拡張(すべてプレフィックスが付く)をにコピーする必要があります。ABfolderABAfolderBfolderC

おすすめ記事