GNU/Linux >> Linux の 問題 >  >> Linux

tar の絶対パスを除外するにはどうすればよいですか?

私にとっては、次の方法が最適です:

tar xvf some.tar --transform 's?.*/??g'

--transform 引数は、抽出されたすべてのファイルパスが供給される sed の代替正規表現です。 --strip-components とは異なります 、固定数のコンポーネントだけでなく、すべてのパス情報を削除します。


ファイル名の最初の n 個の先頭コンポーネントを削除する場合は、strip-components が必要です .したがって、あなたの場合、抽出時に行う

tar xvf tarname.tar --strip-components=2

man ページには tar のリストがあります これを含む多くのオプションがあります。 tar のいくつかの以前のバージョン --strip-path を使用


-C を間違って使用しています ディレクトリの変更に使用するスイッチ。したがって、あなたがする必要があるのは:

tar -cf tarname.tar -C /www/path path/file1.txt path2/path3/file2.xls

または、すべてを /www/path の下にパッケージ化する場合 する:

tar -cf tarname.tar -C /www/path .

-C を使用できます 複数回切り替えます。


Linux
  1. find でディレクトリを除外する方法。指図

  2. filename.tar.gz ファイルを抽出する方法

  3. ディレクトリをtarしますが、完全な絶対パスをアーカイブに保存しないでください

  1. 検索出力で相対パスのみを強制するにはどうすればよいですか?

  2. debian の gui をインストールする方法

  3. 巨大なフォルダーのマルチ tar アーカイブを作成する方法

  1. [Linux]:「tar」シェルコマンドを使用するときにディレクトリを除外する方法

  2. 絶対/正規/相対パス?

  3. 正規表現を使用して TAR アーカイブからファイルを除外する方法は?