cat a.txt 1 2 3
cat b.txt 3 4 5
이럴때 이 두 파일을 중복되지 않게 합쳐서 cat a.txt 1 2 3 4 5
이렇게 만들려고 합니다. 이걸 C로 짤려고 하는데 쉬울거 같은데 막상 해보니 잘 안되네요. 조언 부탁드립니다.
a.txt에 있는 숫자들을 하나씩 b.txt에 있는 숫자들과 일일이 비교하면서
b.txt에 a.txt와 중복되는 숫자가 있으면 일단 flag로 표시를 해놓고
a.txt의 숫자들과 flag가 표시되지 않은 b.txt의 숫자들과 합치면 되지 않을까
합니다.
너무나 간단한 방법이기는 합니다만 정렬이라는 문제가 들어간다면 또 다른
문제가 되겠네요...
좀 무식한 방법이지만
cat 1.txt 2.txt | sort | uniq
같은 식으로 처리해도 되신다면...
'숫자' 라는 제한이 있고, 그 숫자의 범위가 그다지 크지 않으며, 자연수 범위라면... boolean 배열을 크게 잡아서 숫자를 만날 때마다 true 로 세팅해 놓는 것고, 나중에 확인해도 되지 않을까요 :)
----블로그 / 위키 / 리눅스 스크린샷 갤러리
먼저 diff -u a.txt b.txt 의 결과 텍스트에서 두 파일의 공통부분을 뽑아낸 다음, diff3 -m ... 으로 합치면 될 것 같네요.
-----http://monpetit.posterous.com/http://monpetit.tistory.com/
원본 파일이 이미 정렬되어 있다면, merge sort 를 약간만 손보면 가능합니다. 손보는 이유가, 중복제거 때문이죠.
과자가 아닙니다. cuckoo dozen, 즉.12마리의 뻐꾸기란 뜻입니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
a.txt에 있는 숫자들을 하나씩 b.txt에 있는 숫자들과 일일이 비교
a.txt에 있는 숫자들을 하나씩 b.txt에 있는 숫자들과 일일이 비교하면서
b.txt에 a.txt와 중복되는 숫자가 있으면 일단 flag로 표시를 해놓고
a.txt의 숫자들과 flag가 표시되지 않은 b.txt의 숫자들과 합치면 되지 않을까
합니다.
너무나 간단한 방법이기는 합니다만 정렬이라는 문제가 들어간다면 또 다른
문제가 되겠네요...
좀 무식한 방법이지만[code:1]cat 1.txt 2.txt
좀 무식한 방법이지만
같은 식으로 처리해도 되신다면...
'숫자' 라는 제한이 있고, 그 숫자의 범위가 그다지 크지 않으며, 자연
'숫자' 라는 제한이 있고, 그 숫자의 범위가 그다지 크지 않으며, 자연수 범위라면...
boolean 배열을 크게 잡아서 숫자를 만날 때마다 true 로 세팅해 놓는 것고, 나중에 확인해도 되지 않을까요 :)
----
블로그 / 위키 / 리눅스 스크린샷 갤러리
먼저 diff -u a.txt b.txt 의 결과 텍스트에서 두 파일의
먼저 diff -u a.txt b.txt 의 결과 텍스트에서 두 파일의 공통부분을 뽑아낸 다음, diff3 -m ... 으로 합치면 될 것 같네요.
-----
http://monpetit.posterous.com/
http://monpetit.tistory.com/
흐음...
원본 파일이 이미 정렬되어 있다면,
merge sort 를 약간만 손보면 가능합니다.
손보는 이유가, 중복제거 때문이죠.
과자가 아닙니다.
cuckoo dozen, 즉.12마리의 뻐꾸기란 뜻입니다.
댓글 달기