정규 표현식을 사용하여 파일을 sed로 교체

정규 표현식을 사용하여 파일을 sed로 교체

많은 파일에서 "Total:*points"와 같은 문자열을 대체하기 위해 sed를 사용하고 싶습니다. 정규 표현식과 함께 sed를 사용하는 방법을 모르겠습니다. 아래는 내가 얻은 것입니다. 미리 감사드립니다!

find ./ -iname "skp-corr-*.txt" -exec sed -i "" "s/(Total: )(.*)(points)/Total: X \/ 31 points/g" {} \;

이전 샘플 파일: 전체: 4/22포인트

이후 샘플 파일: 총계: x / 30포인트

답변1

sed정규식을 사용하도록 이미 구축되었습니다.

find ./ -iname "skp-corr-*.txt" -exec sed -i "s@Total:.*points@Total: X / 30 points@g" {} \;

OS X의 경우,

find ./ -iname "skp-corr-*.txt" -exec sed -i "" -e "s@Total:.*points@Total: X / 30 points@g" {} \;

관련 정보