lndir 結果を取り消す unlndir スクリプト

lndir 結果を取り消す unlndir スクリプト

このlndirコマンドはディレクトリツリーのシャドウコピーを実行しますが、シンボリックリンクを使用します。ファイルはコピーされず、シンボリックリンクでリンクされ、サブディレクトリもコピーされます。うまくいきますが、unlndirその逆のスクリプトも必要です。

つまり、unlndirwill の動作は次のとおりです。

  • ソースツリーのファイルを指すターゲットツリーにシンボリックリンクがある場合は、シンボリックリンクを削除します。
  • ソースツリーとターゲットツリーのすべてのサブディレクトリで前のタスクを繰り返し実行します。
  • ターゲットツリーの一部のサブディレクトリが空の場合は削除します。

私はこれが次のようなものであることに気づきます。GNUストー本当ですが、私はより簡単なシェルスクリプトベースのアプローチを探しています。

これを行うことができるシェルスクリプトを知っていますか?

ベストアンサー1

GNUを仮定するとfind(1)

find -P /some/dir -type l -xtype f -delete && find -P /some/dir -type d -empty -delete

おすすめ記事