抽出されていない/上書きされていないファイルではなく、tarで抽出されたファイルのみを表示するにはどうすればよいですか?

抽出されていない/上書きされていないファイルではなく、tarで抽出されたファイルのみを表示するにはどうすればよいですか?

tarアーカイブを抽出するために使用していますtar -xf /tmp/update.tar -C / -v --keep-newer-files。この-vオプションは処理されたすべてのファイルを表示し、--keep-newer-files説明が必要です。

すべてのファイルが既に存在するため、次の結果が表示されます。

usr/local/bin/execstate.log
tar: Current ‘usr/local/bin/execstate.log’ is newer or same age
usr/local/bin/dblist.sh
tar: Current ‘usr/local/bin/dblist.sh’ is newer or same age
usr/local/bin/dbblacklist.sh
tar: Current ‘usr/local/bin/dbblacklist.sh’ is newer or same age

この--warning-no-ignore-newerオプションは警告を切り替えますが、結果は次のとおりです。

usr/local/bin/execstate.log
usr/local/bin/dblist.sh
usr/local/bin/dbblacklist.sh

しかし、これらのファイルのどれも抽出されません!

抽出されたファイルがまだ存在しない場合にのみ表示したいと思います!

ベストアンサー1

これは以下を使用して行うことができますstar

star -C / -xv -nowarn < /tmp/update.tar

gtarその機能を完全に複製できないようですstar;-)

OSSに優しいLinuxディストリビューションにはstarバイナリパッケージがあります。他のディストリビューションの場合は、schilytools次の場所から最新のソースアーカイブを入手してコンパイルします。http://sourceforge.net/projects/schilytools/files/

現在のスターバージョンは1.6.1です。-nowarnアーカイブから最新のファイルのみを抽出するオプションとデフォルト値は、この作業が開始される前の1985年から適用されますgtar

starLinuxは遅いファイルシステムを実装しているため、そのオプションのマニュアルページを確認することをお勧めします-no-fsync。これにより、star使用しているモードほど安全でないモードに切り替えることができますgtar

おすすめ記事