このlndir
コマンドはディレクトリツリーのシャドウコピーを実行しますが、シンボリックリンクを使用します。ファイルはコピーされず、シンボリックリンクでリンクされ、サブディレクトリもコピーされます。うまくいきますが、unlndir
その逆のスクリプトも必要です。
つまり、unlndir
will の動作は次のとおりです。
- ソースツリーのファイルを指すターゲットツリーにシンボリックリンクがある場合は、シンボリックリンクを削除します。
- ソースツリーとターゲットツリーのすべてのサブディレクトリで前のタスクを繰り返し実行します。
- ターゲットツリーの一部のサブディレクトリが空の場合は削除します。
私はこれが次のようなものであることに気づきます。GNUストー本当ですが、私はより簡単なシェルスクリプトベースのアプローチを探しています。
これを行うことができるシェルスクリプトを知っていますか?
ベストアンサー1
GNUを仮定するとfind(1)
:
find -P /some/dir -type l -xtype f -delete && find -P /some/dir -type d -empty -delete