【问题标题】:UNIX - delete specific linesUNIX - 删除特定行
【发布时间】:2016-03-22 08:50:07
【问题描述】:

我有一个变量 (1,3,8,9) 中的行列表。该列表显示了我需要从文本文件中删除哪些行。我可以使用哪个函数来删除特定的行号?

非常感谢您的回复

【问题讨论】:

  • 这缺少一个问题。
  • sed, awk, perl, ruby, python, lua, bash, ...

标签: shell unix


【解决方案1】:
# set -vx
lines2del="(1,3,8,9)"
sedCmds=${lines2del//,/d;}
sedCmds=${sedCmds/(/}
sedCmds=${sedCmds/)/}
sedCmds=${sedCmds}d
sed -i "$sedCmds" file

删除 set -vx 之前的 # 以查看每个 cmd 执行时的调试/跟踪。

如果您的数据周围没有真正的( )(括号),请修复line2del 变量并删除第二和第三行sedCmds=

IHTH

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-13
    • 1970-01-01
    相关资源
    最近更新 更多