the*_*her 2 unix bash grep io-redirection
我是unix的初学者,我刚陷入困境.我正在处理的bash应用程序非常简单,可以添加联系人,删除联系人(基于名字和姓氏).下面是我的代码的一部分,由于某种原因,grep在排除(> contacts_file)时显示剩余的联系人,但在包含(> contacts_file)时不保存到文件.它将'contacts_file'留空.我怎样才能解决这个问题?或者有更好的方法来搜索联系人文件中的联系人吗?contacts_file中的格式为:firstname lastname
echo "[Remove a contact]"
echo "First Name: "
read first0
echo "Last Name: "
read last0
grep -vw -e "$first0 $last0" contacts_file >contacts_file
Run Code Online (Sandbox Code Playgroud)
您无法将输出定向到您正在进行grepping的同一文件.原因是shell打开输出文件进行写入,因此将其设置为空.
解决方案是将输出定向到临时文件,然后将临时文件移动到contacts_file如果要替换它.
| 归档时间: |
|
| 查看次数: |
297 次 |
| 最近记录: |