2009-07-30 56 views
-1

我想,我的bash腳本執行以下操作:擊(蘋果機):編輯文件和一些如果命令

它找到一個文件,例如:hello.txt的

它搜索特定文本該文件,例如:哎

如果發現,繼續接下來的事情,

如果沒有找到,寫上一個新行&文本繼續接下來的事情。

任何人都可以給我這個腳本嗎?

編輯:我也想連續做更多次,所以節省時間會很棒!

+0

你試過自​​己寫過嗎?如果是這樣,發佈你所擁有的並描述它給你帶來的問題。如果沒有,請嘗試。 – 2009-07-30 10:44:50

+0

但我是bash的新手,我做了一些教程,它幫助了我,但它不解釋如何做這個東西。 – 2009-07-30 10:46:20

回答

2

首先,在回答您的意見:

但我是在bash一個新手,我做了一些教程,它幫助了我,但它不解釋如何做到這一點的東西。

然後你可能做了錯誤的教程。在TLDP的Bash Beginners Guide應該能夠幫助你。

我做了很長時間的批處理(窗口)。在那裏我需要sed。你還需要一個特殊的工具嗎?

是的,但它們都是大多數Unix系統上的標準(包括Mac OS X,我猜)。

任何人都可以給出答案嗎?

因爲我今天心情好是...

grep被用來搜索文件中的文本。

echo和重定向(>>><|)工作在相同的bash,因爲他們在Windows的cmd.exe做的,所以你可能已經知道如何使用這些。

#!/bin/bash 
... 
# The 'if ! grep ...' part is probably the hardest. 
if ! grep "hey" "$filename" &> /dev/null; then 
    # "hey" was not found - use 'echo' to add it 
fi 
... 

其餘的你應該弄清楚自己。