Tarでアーカイブしたいファイルのリストを含むファイルがあります。 mylist.txt
と呼びましょう
を含む:
file1.txt
file2.txt
...
file10.txt
入力としてmylist.txt
を取るTARコマンドを発行する方法はありますか?何かのようなもの
tar -cvf allfiles.tar -[someoption?] mylist.txt
そのため、このコマンドを発行した場合と同様になります。
tar -cvf allfiles.tar file1.txt file2.txt file10.txt
はい:
tar -cvf allfiles.tar -T mylist.txt
GNU tar(これはLinuxであるため)を想定すると、-T
または--files-from
オプションが必要です。
役に立つかもしれないファイル名をパイプすることもできます:
find /path/to/files -name \*.txt | tar -cvf allfiles.tar -T -
一部のバージョンのtar、たとえばHP-UXのデフォルトバージョン(11.11および11.31でテスト済み)には、ファイルリストを指定するコマンドラインオプションが含まれていないため、適切な回避策は次のとおりです。
tar cvf allfiles.tar $(cat mylist.txt)
Solarisでは、オプション-Iを使用して、通常はコマンドラインでファイルから指定するファイル名を読み取ることができます。コマンドラインとは対照的に、これは数十万のファイルを含むtarアーカイブを作成できます(まさにそうしました)。
したがって、例は次のようになります
tar -cvf allfiles.tar -I mylist.txt
AIXの場合、次のように機能しました。
tar -L List.txt -cvf BKP.tar