to_be_archived_files.txt
次の内容で名前が付けられた.txtファイルには、多くのファイル名がリストされています。
~/Documents/dir1/a.html
~/Documents/dir1/b.html
~/Documents/dir1/c/1.html
すべて追加するarchive.tar.gz
方法アスファルト?
私は次のようなものが欲しい:
tar czf archive.tar.gz -FROM-FILELIST=to_be_archived_files.zip
どうすればいいですか?
答え1
この-T
オプションを使用してください。
-T, --files-from FILE
get names to extract or create from FILE
~
ホームディレクトリのエイリアスとして使用できないため、フォルダを明示的に指定する必要があります。
答え2
~
まず、ホームディレクトリに置き換える必要があります。ホームディレクトリにこのエントリが含まれていないとします:
(通常は含まれておらず、そうでなければ参照できません/etc/passwd
)。
(cd / &&
sed "s:^~:$HOME:" | pax -w | gzip) < file.list > file.tar.gz
またはtar
GNUの場合は、次のいずれかを実行してくださいbsdtar
。
(cd / &&
sed "s:^~:$HOME:" | tar -T - -zcf -) < file.list > file.tar.gz
一部の他の人はそうではありませんでしたtar
。これにはパラメータ()を使用します。-I
-T
star
list=-
star cvf - list=-
star
そのリストのファイルがタイプの場合を除き、上記の解決策を参照してください。目次、そのディレクトリの内容全体を含みます。
内容なしでディレクトリのみをアーカイブするには、pax
add-d
オプションを使用するか、GNUtar
またはbsdtar
この--no-recursion
オプション(としても-n
使用されますbsdtar
)を使用します。
star
ディレクトリの内容を含めるには、この-dodesc
オプションを追加します。