小编Dan*_*Dan的帖子

当文件已经在两边时,有什么方法可以同步目录结构?

我有两个驱动器具有相同的文件,但目录结构完全不同。

有没有办法“移动”目标端的所有文件,使它们与源端的结构相匹配?也许用脚本?

例如,驱动器 A 具有:

/foo/bar/123.txt
/foo/bar/234.txt
/foo/bar/dir/567.txt
Run Code Online (Sandbox Code Playgroud)

而驱动器 B 具有:

/some/other/path/123.txt
/bar/doo2/wow/234.txt
/bar/doo/567.txt
Run Code Online (Sandbox Code Playgroud)

有问题的文件很大(800GB),所以我不想重新复制它们;我只想通过创建必要的目录和移动文件来同步结构。

我正在考虑一个递归脚本,它会在目标上找到每个源文件,然后将其移动到匹配的目录,如有必要,创建它。但是——这超出了我的能力!

这里给出了另一个优雅的解决方案:https : //superuser.com/questions/237387/any-way-to-sync-directory-structure-when-the-files-are-already-on-both-sides/238086

shell directory synchronization

26
推荐指数
3
解决办法
6574
查看次数

将大量目录与进度报告进行比较

我只是将 2,000,000 个文件 (3TB) 从一个 RAID 同步到另一个。

我想确保我的数据完好无损。

rsync -c 需要很长时间。

diff 没有告诉我它在做什么。

是否有替代方案(a)更快,并且(b)会在比较时向我展示进度?

(我在 Mac 上,并brew search diff给了我apgdiff colordiff diffstat diffutils fmdiff libxdiff open-vcdiff podiff rfcdiff vbindiff bsdiff diffpdf diffuse dwdiff kdiff3 ndiff perceptualdiff rdiff-backup tkdiff wdiff ......其中一个能完成这项工作吗?)

diff rsync progress-information

14
推荐指数
3
解决办法
2万
查看次数

从输出中提取某些信息

我正在尝试从 ffmpeg 输出中提取某些信息。

示例 ffmpeg 输出:

configuration:  --enable-memalign-hack --enable-mp3lame --enable-gpl --disable-vhook --disable-ffplay --disable-ffserver --enable-a52 --enable-xvid --enable-faac --enable-faad --enable-amr_nb --enable-amr_wb --enable-pthreads --enable-x264 
libavutil version: 49.0.0
libavcodec version: 51.9.0
libavformat version: 50.4.0
built on Apr 15 2006 04:58:19, gcc: 4.0.1 (Apple Computer, Inc. build 5250)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file.mov':
Duration: 00:01:32.0, start: 0.000000, bitrate: 63489 kb/s
Stream #0.0(eng): Audio: pcm_s16le, 48000 Hz, stereo, 1536 kb/s
Stream #0.1(eng), 29.97 fps(r): Video: Apple ProRes 422, 1280x720
Must supply at least one output file …
Run Code Online (Sandbox Code Playgroud)

command-line ffmpeg text-processing

6
推荐指数
1
解决办法
1388
查看次数

如何找到目标路径与模式匹配的符号链接?

我正在尝试在目标包含“Dropbox”的当前文件夹下找到所有符号链接

我最好的猜测是:

find . -type l -iname '*Dropbox*'

但这没有任何回报。

我想找到以下项目:

com.adobe.illustrator.plist -> /Volumes/data/Dropbox (Personal)/Mackup/Library/Preferences/com.adobe.illustrator.plist
com.apple.Terminal.plist -> /Volumes/data/Dropbox (Personal)/Mackup/Library/Preferences/com.apple.Terminal.plist
com.noodlesoft.Hazel.plist -> /Volumes/data/Dropbox (Personal)/Mackup/Library/Preferences/com.noodlesoft.Hazel.plist
Run Code Online (Sandbox Code Playgroud)

这样我就可以重新创建没有(Personal)文本的链接。(如果有一种方法可以用一行来做到这一点,那就太好了!)

find symlink

5
推荐指数
1
解决办法
1532
查看次数

(Mac 终端) sed 解析 JSON ......我做错了什么?

在 Mac 终端中,我试图从这个 JSON 响应中解析“名称”:

{"created_at":"2012-08-27T20:04:27Z","deleted_at":null,"id":21462840,"item_type":"video","name":"CastingBy-v12 mixed.mov", "private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/3D0P02b3e3p2I/CastingBy-v12%20mixed.mov","source":"Cloud/1.5.4 CFNetwork/520.4.3 Darwin/11.4.0 (x86_64) (MacPro5%2C1)","updated_at":"2012-08-27T20:13:38Z","view_counter":2,"href":"http:// /my.cl.ly/items/2840","icon":"http://my.cld.me/images/item-types/video.png","subscribed":true,"url":"http ://files.housenyc.com/1I3E2F3C","content_url":"http://files.eeehousenyc.com/1I3Q0Z1E2F3C/CastingBy-v12%20mixed。mov","download_url":"http://files.eeehousenyc.com/1I3Q0F3C/download/CastingBy-v12%20mixed.mov","gauge_id":null}

我正在使用

sed 's/{.*?"name":"\(.+?\)".*/\1/'

但它返回整个字符串。

我希望它返回

CastingBy-v12 mixed.mov

sed regular-expression json macos

4
推荐指数
2
解决办法
2万
查看次数