フォルダには、値といくつかの作成されたタイトルを含む.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 {} \;