为了在Linux文件上运行代码dx,我需要用实际的文件replace所有的链接。 多年来一直没有在Linux工作,并被术语弄糊涂了。 一直在寻找两天的答案。 有这个简单的脚本吗? 我有2500万行代码。
原始目录:afile bfile clink_to_cfile_in_another_dir(可能遍历多个链接)
期望的最终结果:afile bfile cfile
我已经得到了这一点,但它不工作:
find . -type l -exec "echo 'replacing {}'; cp -LR '{}' '{}'.deref rm '{}' \;"
有几个问题
\; 需要在引号之外,这是exec的一个单独的论点 ; 在最后的rm命令之前 要运行这样的多个命令,你可以执行一个shell并将脚本传递给它
find . -type l -exec /bin/bash -c "echo 'replacing {}'; cp -LR '{}' '{}.deref' ; rm '{}'" \;
似乎工作。