微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

bash – 用原来的所有符号链接替换

我有以下目录结构
/symdir
  sym1 -> ../dir1
  sym2 -> ../dir2
  hello.txt

接着

/dir1
  some
  files
  here
/dir2
  more
  files

我想用symdir(sym1,sym2)中的符号替换原件。即

some_awesome_bash_func symdir symdir_output

会创造

/symdir_output
  /dir1
    some
    files
    here
  /dir2
    more
    files
  hello.txt

我该如何做到这一点?

可能不是最好的方法,但它的作品:
#!/bin/bash.exe

for link in $(find /symdir -type l)
do
  loc=$(dirname $link)
  dir=$(readlink $link)
  mv $dir $loc
  rm $link
done

注意:这是写在cygwin上。您可能需要更改#!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐