UNIX - 删除特定行

时间:2016-03-21 22:33:59

标签: shell unix

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

非常感谢您的回复

1 个答案:

答案 0 :(得分: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执行时的调试/跟踪。

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

IHTH