>> 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