删除CSV文件中的一系列行,但在给定范围之间的行除外

Dhr*_*uuv 2 unix csv sed

如何删除CSV文件中的一系列行除了给定范围之间的一行(或几行或不连续)...让我说我需要删除CSV文件的前五行但保留第三行你是如何实现这一目标的.我试图使用SED但没有帮助.

sed '1,5d;3!d' filenname.CSV > tempfilename.txt
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过给出范围来做到这一点

sed '1,2d;4,5d' filenname.CSV > tempfilename.txt
Run Code Online (Sandbox Code Playgroud)

但是,想知道是否有一个解决方法,我可以指定一个范围来删除并给出一条线(或行之间或不连续)的例外

如果我错了,请纠正.

Dhruuv,提前致谢

iru*_*var 5

将您的sed示例重新调整为以下内容

sed '1,5{3p;d}' filenname.CSV > tempfilename.txt
Run Code Online (Sandbox Code Playgroud)

或者在删除范围1-5中的所有其他内容时打印第3行和第4行

sed '1,5{3p;4p;d}' filenname.CSV > tempfilename.txt
Run Code Online (Sandbox Code Playgroud)