如何在sed'3d'中使用变量../log/file2.txt> ../log/file8.txt

时间:2013-09-30 11:45:18

标签: shell sed

我想删除名为file2的第三行文件。它运行成功。没有问题。

sed '3d' ../log/file2.txt > ../log/file8.txt

现在我想使用变量VAR1(其中VAR1=2)。

我写了以下命令

sed "${VAR1+1}d" ../log/file2.txt > ../log/file8.txt

但是这个命令删除了第二行。执行命令时没有错误。但我没有得到预期的输出

请帮帮我 如何在此命令中使用sed来获取要删除的正确行

2 个答案:

答案 0 :(得分:1)

尝试

sed "$((VAR1+1))d" ../log/file2.txt

答案 1 :(得分:0)

使用变量和awk

删除一行
var1=4
awk NR!=v v=$var1 ../log/file2.txt > ../log/file8.txt

这会移除4th

中的file2

为了使其更健壮,请使用qutes

awk 'NR!=v' v="$var1" file