私は面白い問題を抱えています。指定したサイズより大きいディレクトリ内のすべてのファイルに対して、単一のフォルダにシンボリックリンクを作成しようとしています。
明確にするために、これは例です:
/Files
/Large_Files
/LargeFile1_symlink
/LargeFile2_symlink
/Folder1
/file_a
/file_b
/Folder2
/LargeFile1
/Folder3
/LargeFile2
/file_c
これを達成するために私がこれまでに持っているものは、
find -size +102400 -exec ln -s $PWD/{} Large_Files/ \;
ただし、この検索結果は
./LargeFile1
だから私のsymlinkコマンドは生成します
ln -s /Files/Folder2/./LargeFile1 Large_Files/
私の質問は、このコマンドが機能するように、ファイル名だけを切り離すためにbasenameコマンドを使用することは可能でしょうか?あるいは、スクリプトを書かずにこれを行う方法について誰かが提案をしているのでしょうか。それとも、スクリプトを書く例を教えてください。
私は今までスクリプトを書いたことがありませんが、私はJavaを知っていますが、Javaでこれらすべてを行う時間をかけたくありません。
助けてくれてありがとう!
編集:タグを追加する