>> Edit article
이름
제목
패스워드
좀 희한한 방법이지만.. 비교적 스크립트가 간단합니다. <pre> $ # 저는 본래의문장과 바꿀문장사이를 '->'로 구분을 하겠습니다. $ cat list_for_change Advanced->advanced Network->internet $ cat text_orig This is Advanced Network Technology Service $ sed -n 's,(^.*)->(.*$),"1"을 "2"(으)로 바꿀 계획입니다.,p' list_for_change "Advanced"를 "advanced"(으)로 바꿀 계획입니다. "Network"를 "internet"(으)로 바꿀 계획입니다. $ sed -n 's,(^.*)->(.*$),s/1/2/g,p' list_for_change s/Advanced/advaned/g s/Network/internet/g $ sed_list=$(!!) sed_list=$(sed -n 's,(^.*)->(.*$),s/1/2/g,p' list_for_change) $ sed -e "$sed_list" text_orig This is advanced network Technology Service $ # 또는.. $ sed -n 's,(^.*)->(.*$),s/1/2/g,p' list_for_change > ~/temp.sed $ sed text_orig -f "${HOME}/temp.sed" This is advanced network Technology Service $ 뭐... 여러가지 방법이 있지만 제가 선호하는 방법을 썼습니다. 참고로 쉘에서 파일로 부터 할 줄씩 글을 읽어들이는 방법은 아래와 같습니다. $ while read line; do > echo $line > done < list_for_change Advanced->advanced Network->internet $ 그럼 즐숙...? 즐삽하시길 ^^ : 쉘 프로그래밍 숙제가 있는데요 : : 파일1에는 : 텍스트로 This is Advanced Network Technology Service 가 들어있고요 : : 파일 2에는 : Advanced advanced : Network internet : : 이렇게 있으면 : : HW2 파일1 파일2 : : 이렇게 쉘프로그램을 실행하면 : 문자를 치환하는 것입니다. : 실행하면 : This is advanced internet Technology Service 가 출력돼겠죠... : : awk 과 sed 를 사용해야 할것 같은데 : 쉘 프로그램을 별로 안 짜봐서 헤매고 있습니다 : 잡힐듯 하면서도 안 돼네요... : : 힌트라도 좀 주세요... : : -- : 시작은 끝... 끝은 곧 시작
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved