vi의 치환과 정규식 초보 질문드립니다.
글쓴이: ho5ik / 작성시간: 토, 2004/04/17 - 3:47오후
안녕하세요~
제가 12MB 분량의 텍스트를 vi의 강력한 치환 기능을 이용해서
특정 형식으로 변환하고자 합니다.
M$ Windows 용 vi에서는 테스트에는 성공했으나
(이게 어찌된건지 잘 모르겠습니다. ^^; )
12MB 치환을 하면 메모리가 부족하다고 오류 메시지를 띄웁니다.
(512MB의 메모리가 부족하다니~ -..-; )
리눅스에서는 테스트조차 실패했습니다.:%s/\n\(.*\)\n\(.*\)\n/\1 \2\n/g
테스트 시 수많은 줄이 달랑 한줄로 변하네요~ -..-;
gVim for M$에서는 어떻게 해서 된건지... -..-;
M$ 윈도우즈와 리눅스의 엔터값 때문인건지... -..-;
메모리를 또 사야 되는건지... -..-;
원본 텍스트의 형식은 다음과 같습니다.
엔터 + 단어 + 엔터 + 설명 + 엔터
만들고자 하는 텍스트의 형식은 다음과 같네요.
단어 + 공백 + 공백 + 설명 + 엔터
다음이 원본 예입니다.
abandon 2 n. 자유 분방; 방종; <영> 자포자기 with [in] ~ 멋대로, 흥에 겨워; 마음껏, 몸을 아끼지 않고 abandoned a. 1 버림받은; 버려진, 황폐한(deserted): ~ building (사람이 살지 않는) 황폐한 건물 2 자포 자기한; 방자한, 파렴치한(immoral), 불량한 <녀석>, 방탕한 <여자> 3 자유 분방한 abandonee n. 1 [법] 피(被)유기자 2 [해상보험] 피위탁자 abandoner n. 1 [법] 유기자 2 [해상보험] 위탁자 abandonment n. 1 포기 2 [법] 유기, 위탁 3 자포자기 4 = ABANDON2
만들고자 하는 텍스트의 예 입니다.
abandon 2 n. 자유 분방; 방종; <영> 자포자기 with [in] ~ 멋대로, 흥에 겨워; 마음껏, 몸을 아끼지 않고 abandoned a. 1 버림받은; 버려진, 황폐한(deserted): ~ building (사람이 살지 않는) 황폐한 건물 2 자포 자기한; 방자한, 파렴치한(immoral), 불량한 <녀석>, 방탕한 <여자> 3 자유 분방한 abandonee n. 1 [법] 피(被)유기자 2 [해상보험] 피위탁자 abandoner n. 1 [법] 유기자 2 [해상보험] 위탁자 abandonment n. 1 포기 2 [법] 유기, 위탁 3 자포자기 4 = ABANDON2
제발 알려주세요~
File attachments:
첨부 | 파일 크기 |
---|---|
vi치환예제-4.txt | 1.31 KB |
Untitled-2 copy.gif | 43.08 KB |
Forums:
-..-; 방법을 아직 못 찾았습니다.
지금 이리저리 방법을 찾고 있는 중입니다.
:help pattern
도 찾아보고 있는데... 이해가 안가는 부분이 참 많네요. -..-;구글링도 하고 있습니다만... 역시... 영어와 이해력이 딸리는 군요~
:%s/^$\n\(.*\)\n\(.*\)\n/\1 \2\n/g
를 해봤는데 윈도그gVim은 부분적으로 되는것 같긴 한데... ^@가 어디서? 왜? 나오는 건지? hex코드를 보니 000D0A네요... 아~ 어디서부터 찾아야 할지...스샷 올립니다.
[code:1]:%s/^\n\(.*\)\n\&#
리눅스에서는 테스트 해보지 못했습니다.
도움 되시길.
한파일의 맥수 라인
안녕하세요.문뜩 이 글을 읽다가,
vi의 read max line말고,
유닉수에서 한 파일 안에서 ,최대 라인수 제한이 있나가 궁금해졌습니다.
한파일의 맥수라인,있을까요?
아니면,몇라인을 넘으면,시스템에서 읽는데,성능이 현저하게 떨어지는
임계값이 있을까요?
아시는 분 있으면,한수 부탁드리겠습니다. :D
유닉스에서 한 디렉토리 내의 파일 수가 1만개가 넘어서면,파일 I/O 성능면에서
현저한 저하가 온다는 말씀은 들었습니다.
In the UNIX,
화일 시스템은 지평적인 공간 감각을 제공하며 ,
프로세스는 생명을 갖는 생명체와 같아보인다.
--BACH
오옷! 완벽하게 되는것 같아요~ 감사합니다. ^^
외할머니 생신이라 낮에 계속 밖에 있다가 지금 들어와서...
얼른... 페도라 밀고... ^^;
레드햇 9로 다시 돌아 갔습니다.
페도라가 좀 문제가 많은것 같아서... 제게는 벅차더군요~
알려주신대로 해봤더니... 제 와우 7.1에서... 잘 되는군요~ ^^
이야~~~ 너무 기쁜데요~
어찌 감사를 드려야 할지...
:%s/^\n\(.*\)\n\(.*\)/\1 \2/g
치환 참 오묘하네요~ 아무튼 감사드립니다. 열심히 살겠습니다.
행복하시고 건강하세요~
그리고 smalljam님 죄송한데요~
그리고 smalljam님 죄송한데요~
제 글 밑에 질문을 올리신것 같은데... 그러시면...
답을 얻기가 조금 힘드실것 같은데요~ ^^;
따로 질문을 하시면 다른 분들이 제목을 보고
바로 답을 달아 주실수도 있지 않을까요?
제 질문 봐주셔서 감사합니다.
저도 한번 찾아 볼께요~ ^^
저도 갑자기 무지 궁금해지는데요?
smalljam님도 건강하시고 행복하세요~ 그럼 이만~
ps. 아! 맞다. 라인수라 하시면...
텍스트파일에 한정되는것 같은 느낌이 드는데...
그냥 파일이라고 앞에서 말씀을 하셨거든요?
그러면... 바이너리 파일(?)은 제외하시는건가요?
그건 의미가 없는것 같은데... 보통 파일(바이너리)들은
라인이라는게 없지 않나요?
댓글 달기