在一个文件夹中,我有许多采用 .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 {} \;