さまざまなサブディレクトリにある複数の特定のファイルからソフトリンクを作成する

さまざまなサブディレクトリにある複数の特定のファイルからソフトリンクを作成する

ln -sその名前に含まれるすべてのファイルのソフトリンク()を作成してから利用可能にしたいと思います。folder2*foo*folder1

forfindおよびおよび組み合わせを試してみましたが、得られたのは、壊れたリンクまたはfind -exec ln内部*foo*のすべての項目へのリンクだけですfolder1

ベストアンサー1

この小さな部分を使用することができます

#!/bin/bash

folder1="/path/to/folder1"
find "$folder1" -type f -name '*foo*' -exec \ 
sh -c 'for f; do ln -s "$folder1" "/path/to/folder2/${f##*/}"; done' _ {} +

ここでは絶対パスを使用するので、どこでも実行できます。

おすすめ記事