여러 문서의 특정 줄 비교

여러 문서의 특정 줄 비교

여러 문서의 특정 줄을 비교하고 싶습니다. diff와 comm을 사용해 보았지만 조건은 이렇습니다.

  1. 문서는 다른 작업 디렉터리/폴더에 있으며 여기에서는 (*.doc)와 같은 와일드카드를 사용할 수 있습니다.

    File 1  ---> /home/user/file1/1.doc
    File 2  ---> /home/user/file2/2.doc
    File 3  ---> /home/user/file3/3.doc
    
  2. 다음은 모든 문서(*.doc)의 특정 라인(2~3라인)을 비교하는 것입니다.

예를 들어 다음 문서의 2행(연령)과 3행(성별)을 가져오고 싶습니다.

1.문서

Name: abc
Age: 123
Gender: m
Contact No.: 222 2222

2.문서

Name: bca
Age: 321
Gender: F
Contact No.: 333 3333

3.문서

Name: bca
Age: 321
Gender: F
Contact No.: 333 3333
  1. 마지막으로 이 줄이 동일하든 다르든 다른 파일로 생성하는 것입니다.

답변1

귀하의 질문에서 제가 이해한 바에 따르면 각 파일에서 2행과 3행만 가져와 새 파일로 출력하기를 원합니다. 이 작업을 수행하는 스크립트는 다음과 같습니다.

find . -name "*.doc" | xargs awk 'FNR==2||FNR==3{print}' > new_file

xargsawk출력의 각 파일이 처리 됩니다 find. awk2행과 3행은 제공된 각 새 파일에서 인쇄됩니다.

경로에 공백이 있을 수 있는 경우:

find . -name "*.doc" -print0 | xargs -0 awk 'FNR==2||FNR==3{print}' > new_file

관련 정보