小编cur*_*ios的帖子

比较两个目录树

我有两个音乐库,一个版本比另一个新。我想将它们与我需要将哪些文件从新音乐树复制到旧文件进行比较。

我已经diff --brief -r /oldmusicdir/ /newmusicdir/根据另一个用户的建议进行了尝试,但是 ^C 十五分钟后的过程(我猜差异是扫描音乐文件本身——这不是必需的)。

然后我尝试find /oldmusicdir/ -type d | sort > oldmusicdir了旧的和新的,然后运行diff oldmusicdir newmusicdir但是,因为我将音乐目录存储在不同的位置,所以每个条目都被标记了。

接下来我尝试运行,find /musicdir/ -type d | basename -s - | sort > musicdir但我的 musicdir 文件只是读取“-”

有谁知道如何让 basename 从 STDIN 接受?或者,有没有人有更好的方法来快速比较两个音乐目录?

谢谢!

diff stdin

12
推荐指数
1
解决办法
9950
查看次数

bash 没有确定性地处理星号通配符

我不小心在没有主目录的情况下向我的系统添加了一个用户(我忘记在 useradd 中放置 -d 和 -m 标志)。我没有删除用户并重新开始,而是尝试简单地 mkdir 主目录并自己从 /etc/skel 复制文件。但是,我收到以下奇怪的错误:

user@host:~$ sudo cp -rv /etc/skel/* /home/newuser/
cp: cannot stat `/etc/skel/*': No such file or directory
Run Code Online (Sandbox Code Playgroud)

但是,以下两个命令按预期工作:

user@host:~$ sudo cp -rv /etc/skel/.bashrc /home/newuser/
user@host:~$ cp -rv ~/testfolder1/* /testfolder2/
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么我收到初始错误。

bash wildcards

3
推荐指数
1
解决办法
1497
查看次数

标签 统计

bash ×1

diff ×1

stdin ×1

wildcards ×1