【发布时间】:2016-05-11 12:04:45
【问题描述】:
我正在尝试使用sed 从名称存储在变量中的文件中删除从用户输入读取的行。现在sed 所做的只是打印该行,而不是别的。
这是我正在使用的命令的代码 sn-p:
FILE="/home/devosion/scripts/files/todo.db"
read DELETELINE
sed -e "$DELETELINE"'d' "$FILE"
这里有什么我遗漏的吗?
编辑:用-i 切换-e 选项解决了我的问题!
【问题讨论】:
-
除非删除行是需要分隔的行号。请显示有问题的行以及变量包含的内容。
-
@123 我不确定,但我很确定 bash 的读取将用户输入作为字符串。我认为这可能是一个障碍。我将如何修复它以使其正常工作?编辑:用变量更新。
-
请显示有问题的行以及变量包含的内容。
-
哇bobby tables,你需要验证你的用户输入:如果我输入
1,$,我刚刚删除了每一行。 -
@glenn jackman 会的。我有一个条件来确保输入是一个数字并且在一个范围内。该脚本仍处于起步阶段,但由于它仅供我自己使用,所以我不太担心。