私にとっては、次の方法が最適です:
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
を使用できます 複数回切り替えます。
ファイル ポインタ ( FILE* fp ) をファイル記述子 (int fd) に変換するにはどうすればよいですか?
JMeter - Linux で jmeter-server を起動するとループバック アドレス エラーが発生する