我想通过变量删除 UNIX 文件中的一系列行。比如:a=38 sed '4,$ad' text.csv >/new file 我试过上面的命令,但它不起作用。有人可以帮帮我吗。
问问题
1242 次
2 回答
0
您需要双引号和环境变量和“删除”命令之间的空格。您还可以使您的 shell 变量名称更有意义:
end=38
sed "4,$end d" text.csv > new.csv
于 2013-05-05T09:49:53.360 回答
0
{
if ( NR < start_index && NR > end_index )
{
print $0;
}
}
这是一个 AWK 脚本。按如下方式运行(根据需要更改 和 的start_index
值end_index
。
awk -f your_script.awk -v start_index=4 end_index=5 text.csv > new_filename
所以基本上你不是在复制范围内的行。完成后,您可以根据需要删除原始文件rm
。
于 2013-05-05T09:37:44.797 回答