通过变量删除unix文件中的一系列行

时间:2013-05-05 09:32:28

标签: linux

我想通过变量删除UNIX文件中的一系列行。 喜欢: 一个= 38 sed'4,$ ad'text.csv> /新文件 我尝试了上面的命令,但它无法正常工作。 有人可以帮助我。

2 个答案:

答案 0 :(得分:0)

{
    if ( NR < start_index && NR > end_index )
    {
        print $0;
     }
}

这是一个AWK脚本。按如下方式运行此项(根据需要更改start_indexend_index的值。

awk -f your_script.awk -v start_index=4 end_index=5 text.csv > new_filename

所以基本上你不是要复制范围内的线条。完成后,如果需要,可以使用rm删除原始文件。

答案 1 :(得分:0)

您需要双引号以及环境变量和'delete'命令之间的空格。您还可以使shell变量名称更有意义:

end=38
sed "4,$end d" text.csv > new.csv