【问题标题】:sed inside shell script not workingsed 在 shell 脚本中不起作用
【发布时间】:2013-12-03 05:08:00
【问题描述】:

我编写了以下 shell 脚本来删除文件中的第二行,在本例中为:downloads.txt:

sed -e '2d' downloads.txt

这可以直接运行,但是在 shell 脚本中它似乎不起作用。

请多多指教。

【问题讨论】:

  • 显然,您的脚本的源代码会有所帮助。
  • “似乎不起作用”是什么意思?从技术上讲,sed -e '2d' downloads.txt 行不会删除文件 downloads.txt 中的行。它将 downloads.txt 读入内部缓冲区,删除第二行并显示缓冲区。它适用于 CLI 和脚本。
  • 您是否有sed 的别名,当从命令行运行时自动包含-i 选项?别名不会在脚本中使用。
  • 我很确定问题出在你告诉我们的周围的某个地方。所以要么告诉我们更多信息,要么自己搜索。
  • 感谢大家的意见。现在可以了。根据 chepner 的评论,我将 -e 切换为 -i 并从文件中删除了该行。感谢您的精彩回复。

标签: shell unix command-line sed


【解决方案1】:

这个问题已经解决了。请在下面找到解决方案:

sed -i '2d' downloads.txt

将 -e 替换为 -i 对我有用。感谢大家帮助我。

【讨论】:

    猜你喜欢
    • 2013-04-29
    • 2016-01-17
    • 2011-03-02
    • 2011-09-04
    • 2023-03-16
    • 2017-06-21
    • 2023-03-18
    相关资源
    最近更新 更多