폴더에 있는 모든 .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 {} \;

관련 정보