마지막으로 읽은 이후 마지막으로 변경된 콘텐츠 가져오기

마지막으로 읽은 이후 마지막으로 변경된 콘텐츠 가져오기

파일을 마지막으로 읽은 이후 마지막으로 변경된 내용을 어떻게 얻을 수 있습니까?

이것보다 더 정확한 것은 다음과 같습니다.

tail - <nr >file_1.txt >file_2.txt

그 중 file_2.txt가 마지막으로 수정된 내용을 가져옵니다.

답변1

이와 같은 작업을 수행할 수 있는 유일한 방법은 파일을 마지막으로 읽을 때 임시 이름으로 파일 복사본을 보관한 다음 다시 다시 읽을 때 diff이전에 읽은 것과 비교하는 것과 같은 도구를 사용해야 하는 것입니다. 파일의 복사본과 파일의 현재 버전.

일부 샘플 파일.

$ seq 10 > somefile.txt
$ ls -l |grep somefile.txt 
-rw-rw-r--   1 saml saml      21 Oct 26 13:29 somefile.txt

이제 읽어보자.

$ cat somefile.txt | tee somefile_READ1.txt
1
2
3
4
5
6
7
8
9
10

여기의 명령은 tee파일을 보여주고 다음에 읽을 줄을 보여주는 "백업" 복사본을 만듭니다. 이제 남은 것은 다음 파일뿐입니다.

$ ls -l |grep somefile
-rw-rw-r--   1 saml saml      21 Oct 26 13:30 somefile_READ1.txt
-rw-rw-r--   1 saml saml      21 Oct 26 13:29 somefile.txt

이제 몇 가지 추가 줄이 추가되었습니다.

$ seq 11 20 >> somefile.txt

두 파일의 날짜를 비교하면 마지막으로 읽은 이후 작성된 날짜를 확인할 수 있습니다.

$ ls -l |grep somefile
-rw-rw-r--   1 saml saml      21 Oct 26 13:30 somefile_READ1.txt
-rw-rw-r--   1 saml saml      51 Oct 26 13:32 somefile.txt

이제 다음 두 파일을 비교해 보세요.

$ diff -y somefile.txt somefile_READ1.txt  | column -t
1   1
2   2
3   3
4   4
5   5
6   6
7   7
8   8
9   9
10  10
11  <
12  <
13  <
14  <
15  <
16  <
17  <
18  <
19  <
20  <

위에서 두 파일을 나란히 볼 수 있습니다. 업데이트된 파일 콘텐츠는 왼쪽에 있고 원본 콘텐츠는 오른쪽에 있습니다.

차이점을 확인하려면 다음 형식을 사용할 수 있습니다 diff.

$ diff somefile.txt somefile_READ1.txt 
11,20d10
< 11
< 12
< 13
< 14
< 15
< 16
< 17
< 18
< 19
< 20

관련 정보