ディレクトリとシンボリックリンクがあります。
mkdir dir
ln -s dir dir_symlink
シンボリックリンクをディレクトリに置き換え、ディレクトリをシンボリックリンクに置き換えたいと思います。これをアトミックに(または非常に高速に)実行する方法はありますか?カタログが膨大です。
dir
これで、ディレクトリへのシンボリックリンクが必要ですdir_symlink
(もはやシンボリックリンクではなく、以前のコンテンツを含むdir
)。
ベストアンサー1
これを頻繁に実行する必要がある場合は、次のような小さなbashスクリプトを作成します。
#!/bin/bash
echo "select symlink"
read -e -r symlink
echo "select directory"
read -e -r dir
var=$(echo "$dir" | sed 's/\///g')
rm "$symlink"
mv "$dir" "$symlink"
ln -s "$symlink" "$var"
このsed
コマンドは、オート/
コンプリートを使用するときに追加された入力を削除します。
メモ:ディレクトリツリーを選択すると、このコンテンツもすべて削除されます。
sed
次のように、行の末尾のみが一致することがわかります。sed 's/\/*$//g'