2017-10-19 8 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 

第一と名の最後の5行を決定するために、私は安全に修正することができる.txtファイルをint -tf結果を解析されました。

次に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 
関連する問題