简单的Mac Bash脚本(查找/替换)

时间:2010-10-21 03:30:28

标签: macos bash safari

首先,对此的任何支持和帮助都非常感谢。

我正在尝试编写一个简单的Bash脚本(对此全新)来替换给定目录中的文件。

基本上,我需要编写一个脚本来替换safari首选项文件,这就是我所拥有的......以及那些不起作用的内容:

#!/bin/bash
find /Files/ -iname "com.apple.Safari.plist" - print0 | xargs -I{} -0 -1 cp file /Users/{}/Library/Preferences

以下内容出错:

find: -: unknown option
xargs: illegal option -- 1

任何想法,想法,都非常感谢。

谢谢,

2 个答案:

答案 0 :(得分:1)

我无法理解你想用这个完成什么。据我了解,你会在/ Files /中使用这个“com.apple.Safari.plist”,这是正确的吗?

然后你想把这个文件放到某个地方,我认为,它会覆盖Safari当前的plist文件。假设你接受了ghostdog74的正确建议并删除- print0之间的空格,从而将其转换为-print0,然后从xargs中移除-1,因为它不存在,这就是发生:

find会在/ Files /中找到您的文件,而xargs会运行此文件: cp file /Users/com.apple.Safari.plist/Library/Preferences;它会死掉,因为它找不到名为“file”的文件或名为“/Users/com.apple.Safari.plist /".

的目录

这很可能不是你想要的。 :)

如果您只想将文件复制到某个地方,为什么不执行cp /Files/com.apple.Safari.plist ~/Library/Preferences/

在这种情况下,你真的需要findxargs吗?你能澄清一下吗?

答案 1 :(得分:0)

- print0之间没有空格。由于-1不是一个选项,请将其删除并查看。

find /Files/ -iname "com.apple.Safari.plist" -print0 | xargs -I{} -0 cp file /Users/{}/Library/Preferences