덕분에
무사히 즐숙 할 수 있었습니다...
손에 잡힐듯 하면서도 안 잡혀서
답답했는데
명쾌한 해답을 주셔서 감사합니다...
: 좀 희한한 방법이지만.. 비교적 스크립트가 간단합니다.
:
: <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 를 사용해야 할것 같은데
: : 쉘 프로그램을 별로 안 짜봐서 헤매고 있습니다
: : 잡힐듯 하면서도 안 돼네요...
: :
: : 힌트라도 좀 주세요...
: :
: : --
: : 시작은 끝... 끝은 곧 시작--시작은 끝... 끝은 곧 시작