2013-02-15 62 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

相关问题