tar -tf filename.tar
folder1/file
folder1/name
[...]
私は、抽出したいファイルや名前を、にフォルダ2。これはワンライナーとして実行できますか?
tar -tf filename.tar
folder1/file
folder1/name
[...]
私は、抽出したいファイルや名前を、にフォルダ2。これはワンライナーとして実行できますか?
回答:
-C
andを使用します--strip-components
(を参照man tar
)。
mkdir FOLDER
# for remote tar file
curl -L ’remote_tar_file' | tar -xz - -C FOLDER --strip-components=1
# for local tar file
tar -xzf FILENAME -C FOLDER --strip-components=1
この-C
フラグは、ディレクトリがすでに配置されていることを前提としているため、tarファイルの内容をそこに展開できます。したがってmkdir FOLDER
。
この--strip-components
フラグは、tarファイルが自然にフォルダーに展開するときに使用されrepo-name-master
ます。たとえば、githubのようにフォルダーに展開する場合などです。もちろん、ここで生成された最初のレベルのフォルダーは必要ないので、に--strip-components
設定する1
と、その最初のフォルダーが自動的に削除されます。数値が大きいほど、ネストされたフォルダが深く削除されます。
man tar
。見つけられませんでした--strip-components
。良いもの