gpt4 book ai didi

bash - UNIX 初学者 : grep save to a file doesn't work

转载 作者:行者123 更新时间:2023-11-29 09:44:59 26 4
gpt4 key购买 nike

我是 unix 的初学者,但我刚刚陷入困境。我正在开发的 bash 应用程序非常简单,可以添加联系人和删除联系人(基于名字和姓氏)。下面是我的代码的一部分,出于某种原因,grep 在排除 (>contacts_file) 时可以正常显示剩余的联系人,但在包含 (>contacts_file) 时不会保存到文件中。它反而将“contacts_file”留空。我怎样才能解决这个问题?或者有没有更好的方法来搜索联系人文件中的联系人? contacts_file 中的格式为:名字姓氏

echo "[Remove a contact]"
echo "First Name: "
read first0
echo "Last Name: "
read last0
grep -vw -e "$first0 $last0" contacts_file >contacts_file

最佳答案

您不能将输出定向到您正在 grep 的同一个文件。原因是 shell 打开该输出文件进行写入,因此使其为空。

解决方案是将输出定向到一个临时文件,然后将临时文件移动到 contacts_file(如果要替换它)。

关于bash - UNIX 初学者 : grep save to a file doesn't work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9857832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com