2017-10-19 17 views
0

내 작업은 wc와 파이프를 사용하여 만든 백업 파일의 이름 수를 계산하고 처음 5 개의 이름을 표시 한 다음 마지막 5 개의 이름을 표시하는 것입니다. 파일을보기 위해 'strings'명령을 테스트했지만, wc는 결코 끝나지 않는 공백 행을 출력합니다.Centos7 : 이름 수에 wc를 사용하여 이진 파일 읽기

strings /mnt/tape/backup | wc -l 

파일의 특정 섹션을 찾는 것이 확실하지 않습니다. 출력은 다음과 같아야합니다.

109497 

etc/dconf/db/distro.d/locks/10-authconfig-locks 
lib 
lib64 
usr/lib64/libgcc_s-4.8.5-20150702.so.1 
usr/lib64/libgcc_s.so.1 

usr/lib/systemd/system/anaconda.target.wants/anaconda-nm-config.service 
tmp/.X11-unix/X0 
tmp/.esd-1000/socket 
etc/fstab 
root/.cache/abrt/lastnotification 

고맙습니다.

+0

다음과 같이 표시 할 이름 수를 얻었습니다. strings/mnt/tape/backup | wc -w –

답변

0

명령 문자열의 데이터가 너무 많습니다. 정보를 분석하기가 더 어렵습니다. xfsrestore의 -tf 옵션은 파일의 내용 목록을 표시합니다.

#number of names 
xfsrestore -tf /mnt/tape/backup | wc -w 
110834 

는 1 위를 결정하고, 이름의 마지막 5 개 라인, 내가 안전하게 수정할 수 .txt 파일하는 int -tf 결과를 분석.

xfsrestore -tf /mnt/tape/backup > test.txt 

그런 다음 VIM을 사용하여 처음 5 개의 줄 번호를 확인했습니다. $ G는 마지막 5 개의 이름을보기 위해 파일의 맨 아래로 떨어집니다. 22-26 및 110720-110724.

#display 1st 5 names 
xfsrestore -tf /mnt/tape/backup | sed -n 22,26p 

etc/pam.d/system-auth-ac 
lib64 
usr/lib64/libgcc_s-4.8.5-20150702.so.1 
usr/lib64/libgcc_s.so.1 
usr/share/locale/ast/LC_MESSAGES/grub.mo 

#display last 5 names 
xfsrestore -tf /mnt/tape/backup | sed -n 110720,110724p 

etc/gshadow 
etc/aliases.db 
root/.local/share/recently-used.xbel 
etc/fstab 
etc/group