단일 txt 파일에서 여러 파일 만들기

단일 txt 파일에서 여러 파일 만들기

각 파일에 약간의 변경 사항을 적용하여 여러 번 복사해야 하는 입력 파일이 있습니다. 즉, 각 파일의 30줄마다 변경됩니다.

예를 들어

내 기본 텍스트 파일 이름은 D0.txt이고 여러 번호를 복사해야 합니다. 30행은 "변수 D1이 0.0과 같습니다"입니다.

이제 이 파일을 처음 복사할 때

해당 문자열을 "변수 D1이 1과 같습니다"로 변경하고 싶습니다.

그런 다음 파일을 D1.txt로 저장합니다.

마찬가지로, 5개의 파일을 생성하고 이를 100번 반복하고 싶습니다.

그래서 파일은 폴더에 저장됩니다

D0.txt

D1.txt

D2.txt 등에서 각 줄의 30번째 줄은 "Diameter = $n"이며, 아래에 샘플 텍스트 파일 형식을 첨부합니다. 폴더에 있는 파일의 원하는 형식.

여기에 이미지 설명을 입력하세요. 여기에 이미지 설명을 입력하세요.

답변1

Bash에서는 할 수 있습니다

for i in {1..5}; do
 cp D0.txt D$i.txt;
 sed -i "30s/.*/variable D1 equal $i/" D$i.txt;
done

이는 {1..5}루프의 범위를 지정하고 각 반복 동안

파일을 새 이름으로 복사합니다. sed 명령을 사용하여 30행의 텍스트를 바꿉니다. -i내부를 지정하고, 줄 30번호를 지정하고, s주어진 텍스트에 대한 검색을 지정합니다. 우리의 경우 이는 30번 줄의 모든 텍스트를 의미하므로 해당 텍스트를 file .*로 바꾸려고 합니다 .variable D1 equal $iD$i.txt

관련 정보