2010-10-21 41 views
1

首先,任何對此的支持和幫助都非常感謝。簡單的Mac Bash腳本(查找/替換)

我正在嘗試編寫一個簡單的Bash腳本(完全是新的)來替換給定目錄中的文件。

基本上,我需要寫一個腳本來取代Safari瀏覽器偏好設置文件,這裏就是我have..and什麼不工作了此事:

#!/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 

任何想法,想法,非常感謝。

感謝,

回答

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嗎?你能澄清嗎?

+0

welp ..這麼做了,謝謝一噸Malvin! – Jay 2010-10-21 04:20:51

+0

沒問題,很高興有人幫忙。但是,您可以接受答案,以防止其他人在不需要時嘗試提供更多答案。謝謝! :) – malvim 2010-10-21 13:44:06

0

- print0之間沒有空格。由於-1不是一個選項,請將其刪除並查看。

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