大きな圧縮ファイル(具体的には第2レベルのディレクトリのみ)のツリーを見たいので、次のコマンドを使用しました。 tar -tf tarfile | tree -L 2
しかし、圧縮ファイルではなく、私がいるディレクトリのツリーを出力します。他のコマンドは、たとえば次の場合に tar -tf tarfile | less
正常に機能します。tarfileを正しく探索できます。
私は何か間違ったことをしているのですか、それともtree
他のコマンドのようにピッピングを介して使用することができませんか?そうでない場合、圧縮ファイルの第2レベルのディレクトリまでファイルを表示する他の方法はありますか?
以来tree
STDINを読んで、その代わりに(現在のディレクトリまたは指定したディレクトリかどうか)は、実際のディレクトリ構造を横断していない、あなたは、tarファイルの内容の表形式の後処理する必要があるだろう。tarファイルが絶対パス名で作成されている場合は、範囲を調整して、目的のディレクトリの深さを見つける必要があります。
1つのオプションはawk
次のとおりです。
tar -tf tarfile | awk -F/ 'NF == 3'
もう1つはcut
(レベル2を超える子ディレクトリによって親が再度報告されないように一意にソートする):
tar -tf tarfile | cut -d/ -f1-3 | sort -u
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加