에 있는 디렉토리의 여러 tex
파일 에 일부 코드를 삽입하고 싶습니다 . 이러한 파일에는 서로 다른 문서 클래스가 있으므로 이는 단지 기호 자리 표시자일 뿐입니다.foo*.tex
\documentclass{.*}
.*
코드에는 다음과 같은 여러 줄이 있습니다.
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{ngerman}
이를 자동화하는 가장 좋은 방법은 무엇입니까?
답변1
그것을 사용하는 한 가지 방법 GNU sed
:
콘텐츠 script.sed
:
/^\\documentclass[^{]*{[^}]*}/ {
a\
\\usepackage[utf8]{inputenc}\
\\usepackage[T1]{fontenc}\
\\usepackage{ngerman}
}
다음과 같이 실행하세요:
sed -s -i.bak -f script.sed foo*.tex
줄의 시작 부분을 ^
일치시키는 데 사용합니다 . documentclass
앞에 공백이 있을 수 있으면 제거하세요.
스위치는 -s
각 입력을 다른 파일로 처리하고 확장자를 가진 백업을 -i
생성합니다 .bak
답변2
다음 쉘 스크립트가 트릭을 수행해야 합니다.
#!/bin/sh
sed '
/\\begin{document}/ a\
\\usepackage[utf8]{inputenc}\
\\usepackage[T1]{fontenc}\
\\usepackage{ngerman}
' $1
파일을 입력으로 사용하여 스크립트를 하나씩 호출하면 됩니다.