特定のパスにあるフォルダをtarして別のフォルダに保存します。

特定のパスにあるフォルダをtarして別のフォルダに保存します。

小さなbashプロジェクトを完了しようとしていますが、パスが指定されたフォルダをtarしようとすると停止します。たとえば、プログラムはパスを受け取ります/home/folderx。次に、ループを使用してそのディレクトリ内の各フォルダを見つけますfor i in ~/folderx/*; do...。問題は、を使用してそのパス内のすべてのフォルダを圧縮しようとしましたが、tar -czvf $i.tgz $i -Pプログラムに提供されたフルパスが圧縮されていることです。結局、.tgz正しい名前(圧縮したいディレクトリ名)のファイルを取得しましたが、その中には内容/home/folderx/name_of_the_folder/contents以上の内容がありました。name_of_the_folder

問題は何ですか?とても感謝しています。

ベストアンサー1

tarが必要なディレクトリになければなりません。

for i in ~/folderx/*; do...繰り返してください

cd $i
tar -czvf $i.tgz . -P
cd -

これは私にとって効果的です。

おすすめ記事