리눅스 파일 날짜 비교 - linugseu pail naljja bigyo

# 리눅스에서 날짜의 출력 
   * 실행형식
date 
+"포맷인자"
         
- date 이후에 한 칸의 공백이 들어가야 하는 것에 주의할 것

Show

         * 예시
    date +"%G%m%d%H%M"   =>   201104111526

          * 날짜가 들어간 파일명으로 파일 생성 예시
    vi aaa_`date +
    "%G%m%d%H%M"`
    .txt 
              - `와 "로 감싸주는 부분에 주의할 것

       * 포맷인자

    %%% 자체를 표시한다.

    %a요일이름을 표시한다. (일..토)

    %A완전한요일이름을 표시한다. (일요일..토요일)

    %b월이름을 표시한다. (1월..12월)

    %B완전한월 이름을 표시한다. (1월..12월)

    %c날짜와 시간을 표시한다. (2007년 11월 14일 (수) 오전 12시 50분 16초)

    %C세기를 나타낸다. (년을 100으로 나눈 몫)

    %d월일 (01..31)

    %D월일 (mm/dd/yy)

    %e월일 (1..31)

    %F%Y-%m-%d 와 같다.

    %g년도로 마지막 두자리만 표시

    %G년도로 모든자리 표시

    %h%b 와 같다.

    %H시간 (00..23)

    %I시간 (01..12)

    %j년일(001..366)

    %k시간 (0..23)

    %l시간 (1..12)

    %m월 (01..12)

    %M분 (00..59)

    %n개행문자

    %N나노초 (000000000..999999999)

    %P오전 오후

    %p오전 오후

    %r시간 (오전/오후 hh시 mm분 ss초)

    %R시간 (hh시 mm분)

    %sUTC 기준 1970-01-01 부터 지금까지 흐른 초

    %t탭문자

    %T24시간 (hh:mm:ss)

    %u주중 요일 (1..7), 1이 월요일이다

    %U1년중 몇번째 주인지, 일요일 기준 (00..53)

    %V1년중 몇번째 주인지, 월요일 기준 (00..53)

    %w주중 요일 (0..6), 0은 일요일

    %xmm/dd/yy

    %X%H:%M:%S 와 동일

    %Y년도 (1970..)

    %Z타임존 대한민국은 KST

    파일을 비교하는 가장 간단한 방법은 cmp, 그리고 보다 자세한 파일비교를 할 때에는 diff, 세개의 파일을 비교하려면 diff3을 이용합니다. 두파일에 대하여 각 행단위 비교를 할 때에는 comm을 이용합니다.

    cmp

    cmp는 compare 의 약어로서 두개의 파일이 어떤 부분이 다른가를 비교할 때에 사용하는 명령어이다. 두개의 파일을 단순히 같은가 다른가를 확인할 수 있으며 또한 몇행의 몇번째 문자가 다른가를 확인할 수도 있다. 두 파일이 동일한가를 확인하고자 할 때에 주로 사용한다.

    사용법 : cmp 파일명 비교할파일명

    file1 과 file2를 예를 들어 설명한다.

    cat file1
    
      girls generation
    
    cat file2
    
      girls Generation
    

    두 파일을 비교해본다.

    cmp file1 file2
    
       file1 file2 differ: byte 7, line 1
    

    첫번째행에 7바이트째부터 다름이 발생하였다는 것을 의미한다(빈칸도 1바이트).

    두개의 파일을 비교하여 틀린 문자의 개수와 틀린문자들에 대한 8진수 값을 출력(ASCII코드값)

    cmp -l file1 file2
    
      7 147 107
    

    7번째 바이트, 147은 file1의 g, 107은 file2의 G

    처음부터 지정된 위치까지는 무시하고 비교

    cmp -i 7 file1 file2 
    

    7번째 바이트에 틀림이 있는데 7번째까지 무시하니 틀림이 없는 것으로 출력됨.

    diff

    diff는 differences 의 약어로서 두 파일 사이의 내용을 비교하는 명령어이다. cmp 보다 diff 가 보다 직관적이고 명확하게 찾아준다. 실행결과 차이점이 없다면 0, 차이점이 있다면 1, 실행시 에러가 발생하면 2 이상의 종료코드 값을 얻는다.

    사용법 : diff 파일명 비교할파일명

    diff file1 file2
    
      1c1
    
      < girls generation
    
      ---
    
      > girls Generation
    

    두 파일이 단순히 같은가 다른가를 확인

    diff --brief file1 file2
    
      Files file1 and file2 differ
    

    diff 에 지정된 포맷으로 두파일의 차이점을 출력

    diff -c file1 file2
    
      *** file1       2013-06-15 00:34:30.920849214 +0900
      --- file2       2013-06-15 00:34:49.511852997 +0900
      ***************
      *** 1 ****
      ! girls generation
      --- 1 ----
      ! girls Generation
    

    다른 부분의 라인앞에 ! 를 출력한다.

    자세한 비교

    diff -d file1 file2
    
      1c1
      < girls generation
      ---
      > girls Generation
    

    각각의 파일을 세밀하게 분석하여 두 파일을 비교하는 옵션이다. 즉, 가장 작은 변화된 부분까지도 찾기 위하여 알고리즘을 변경하기도 한다. 따라서 diff 수행시에 수행속도가 느려질 수도 있다.

    두개의 디렉토리 차이점 비교

    diff -r example example2
    
      Only in example: test
    
      Only in example2: test2
    

    각각의 디렉토리에만 존재하는 파일등의 정보를 보다 정확하게 확인할 수 있다. 즉, 비교대상 디렉토리의 하위디렉토리들까지 모두 비교가 되었음을 알 수 있다.

    큰 파일용량의 파일 비교시 속도 증가

    diff -H bigfile largefile
    

    diff3

    diff3 는 3개의 파일차이점을 비교하여 출력하는 명령어이다. 

    사용법 : diff3 파일명 비교할파일명 비교할파일명

     diff3 file1 file2 file3
    
      ====
    
      1:1c
    
        girls generation
    
      2:1c
    
        girls Generation
    
      3:1c
    
        girls geNeration
    

    비교할 파일이 바이너리파일일 경우 비교(가능한 텍스트포맷을 찾아서 비교작업을 수행

    diff3 --text file1 file2 file3
    

    comm

    comm은 지정한 두파일의 행과 행을 비교할 때에 사용하는 명령어이다.

    사용법 : comm [옵션] 파일명 비교할파일명

    우선 비교할 파일들 내용을 살펴보자.

    cat file1
    
      girls generation
      uzuro.com
      uzzuzuu
    
    cat file2
    
      girls Generation
      uzuro.com
    
    comm file1 file2
    
            girls Generation
      girls generation
                    uzuro.com
      uzzuzuu
    

    첫번째 필드(단락)의 girls generation, uzzuzuu 는 file1 에만 존재하는 행의 내용을 의미하고 두번째 필드의 girls Generation 은 file2 에만 존재하는 행의 내용, 세번째 필드인 uzuro.com은 두파일 모두 공통되는 행의 내용을 의미한다.

    [옵션]

    • -1 : 두파일을 비교하여 첫번째 파일과 다른 두번째 파일의 내용과 공통내용만을 출력
    • -2 : 두번째 파일과 다른 부분의 첫번째 파일내용과 공통내용을 출력
    • -3 : 두파일의 공통된 파일은 출력하지 않음