【发布时间】:2016-11-23 01:58:31
【问题描述】:
可能是一个非常直截了当的问题,但我对 bash 还很陌生 我正在尝试从包含特定字符串的 .txt 文件中删除一行。字符串被指定为变量“$logline”
我的 sed 代码目前是:
logline="example2"
sed -i "/$logline/d" > /root/file.txt
/root/file.txt 文件的内容是……
/root/Dir/example.txt
/root/Dir2/example2.txt
/root/Dir/example3.html
...
我希望只删除 /root/Dir2/example2.txt 行。
但是,当我运行它时,整个 txt 文件都被擦除了,并且我收到了错误消息 sed: no input files。
知道我在这里缺少什么吗?
谢谢
【问题讨论】:
-
您是否收到类似
sed: no input files或sed: -i may not be used with stdin的错误消息?如果是这样,将其添加到问题中会很有帮助。 -
嗨,是的,在擦除 txt 文件的同时,它还通过说“sed:无输入文件”来完成我已经研究了几个小时并尝试了参数格式的许多变体,但无法让它工作正确。
-
从命令中删除
>。