关于删除文件夹中所有 .dat 文件的前 327 行

关于删除文件夹中所有 .dat 文件的前 327 行

在一个文件夹中,我有许多采用 .dat 扩展名格式的文件(最初是 .xvg 格式,但已更改为 .dat 格式,以在单个图中绘制所有其他图形),其中包含值以及一些书面标题等等,如:

 # Grace project file

#

@version 50125
@page size 792, 612

@page scroll 5%

@page inout 5%

@link page off

@map font 8 to "Courier", "Courier"

@map font 10 to "Courier-Bold", "Courier-Bold"

@map font 11 to "Courier-BoldOblique", "Courier-BoldOblique"

@map font 9 to "Courier-Oblique", "Courier-Oblique"

@map font 4 to "Helvetica", "Helvetica"

@map font 6 to "Helvetica-Bold", "Helvetica-Bold"

@map font 7 to "Helvetica-BoldOblique", "Helvetica-BoldOblique"

@map font 5 to "Helvetica-Oblique", "Helvetica-Oblique"

.

.

.

.

@    s0 errorbar riser linestyle 1

@    s0 errorbar riser clip off

@    s0 errorbar riser clip length 0.100000

@    s0 comment "rdf_CaNm.xvg"

@    s0 legend  "N1"

@target G0.S0

@type xy

0 0

0.002 0

0.004 0

即,#Grace 项目文件有 327 行(第一行)--> @type xy(第 327 行),然后 0 0 是第 328 行,0.002 0 是第 329 行等。

如何通过终端中的命令删除文件夹中包含的所有 .dat 格式文件中的所有前 327 行(是的,所有这些 .dat 文件都有如上所述的前 327 行)?

答案1

要从一个文件中删除多行,您将执行以下操作:

sed -i -e 1,327d file.dat

这里你用 (-i) 来做到这一点,--in-place更改文件, 和1,327d表示从第一行删除到第 327 行。

*.dat要删除此目录及以下目录中所有文件名的前 327 行,请使用find

find -name '*.dat' -exec sed -i -e 1,327d {} \;

相关内容