2013-02-15 60 views
0

我有一項任務,並且我不知道何時管理文件,讀取和寫入文件。這是我的主要問題:搜索文件中的字符串,然後打印以該字符串開頭的行

我有一個腳本管理通訊簿,在菜單完成時,功能正在使用,但我不知道如何搜索或寫入文件。

第一個「選項」爲用戶提供了用聯繫人名稱搜索地址簿的選項(duh!)。我想使用的模式是沿着「名稱:地址:電子郵件:電話」的行,讓用戶把名稱,地址但不是電子郵件或電話,只有最後一個號碼空間。我相信我可以通過正則表達式來實現這一點,我對Java課程有點了解。

那我該怎麼做呢?我知道grep可能很有用,但即使在閱讀手冊頁後,我也不知道這些參數。逐行解析可以用for line in $(file)完成,但仍不確定。

回答

0

如果你允許使用grep,那麼你可能會使用awk,而這正是我寧願爲你分配的大部分地區。

仰望的名字聯繫人:需要

awk -v name="Anton Kovalenko" -F: '$1==name' "$file" 
0

下面是做這件事:

grep "^something" $file | while read line 
do 
    echo $line; #do whatever you want with your $line here 
done 
+0

沒有'cat'。你可以'grep'^一些'文件'。另外,'$(file)'可能是錯誤的。 – choroba 2013-02-15 12:31:53

+0

已編輯。謝謝。 – 2013-02-15 12:42:01

相關問題