
각 파일에 약간의 변경 사항을 적용하여 여러 번 복사해야 하는 입력 파일이 있습니다. 즉, 각 파일의 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 $i
D$i.txt