
LinuxでGNU 1.26を使用して、tar
アーカイブでN番目のファイルが発生した後に処理を停止する方法を探しています.tar
。これは働きます:
tar --file=archive.tar --list --occurrence=1 filename
しかし、何らかの理由で動作しません。また、ここではこれがデフォルトであることを知っていますが、=1
達成したい目標を適切に示すためにここで定義します。私が今まで試したこと:
filename
=exact filename: 完全に機能しますが、そのファイルのみを処理するように定義することもできますが、なぜこのオプションを使用するのですか?filname
=ワイルドカードの使用、たとえば*.pdf
すべての*.pdf
ファイルが処理され、--occurrence=
オプションは無視されるようです。ワイルドカードが無効になっているようです。--occurrence=
- ワイルドカードを使用しないと、「ファイルが見つかりません」タイプエラーが発生する可能性があります。
- 私が間違っている場合は訂正してください。しかし、私が知っている限り、ディレクトリに同じ名前の複数のファイルを持つことはできません。私の推測:これはthatで使用できますが、
--no-ignore-case
それでは...そうではありませんか?
質問--occurrence=
:a)適切なオプションを使用するか、b)処理(ファイルの2番目の発生)の正しい方法は何ですか?
答え1
tar を使用しない場合、--occurrence
最新バージョンのファイルが抽出されます。
最も古いバージョンなしで使用すると、抽出され、=
デフォルトIDと呼ばれることになります1
。したがって、--occurrence=2
抽出されるバージョンは最も古いバージョンではなく、次のバージョンになります。
私のバージョンが考慮するタイムスタンプはtar
オプションにリストされている時間です。t
これはリストされた時間と同じですls -l
。