解決策

解決策

背景:現在、一部のフォルダとその内容から圧縮されたタールボールを生成するアーカイブスクリプトを作成しています。アーカイブを解凍したり、ソースを圧縮したりすることなく、gzipで圧縮されたアーカイブをソースと同期できる必要があります。このために求められる解決策は、のls -l出力をの出力と同期させることですtar -ztvf

どちらのコマンドも同様の出力を返しますが、わずかな違いがあります。ほとんどの違いは正規表現やcut。簡単に解決できない問題の1つは、最大深度でクエリディレクトリに相対的なファイルパスを一覧表示することです。

この問題を克服するために、私は以下を使用して各ファイルを見つけてインポートfindしました。ls

find Webcam -exec ls -lR --time-style="+%Y-%m-%d %H:%M" {} \; | cut -f1,3- -d" " | sed "s/ /\//2" | sed "s/ \+/ /g"

これらのパイプのほとんどはフォーマット用で、find Webcam -exec ls -lR {} \;問題の一部であり、Webcamテストフォルダです。このコマンドの出力は次のとおりです。

-rw-r--r-- debian/debian 162406 2014-04-12 13:42 2014-04-12-134210.jpg
-rw-r--r-- debian/debian 116247 2014-08-09 16:38 2014-08-09-163849.jpg
-rw-r--r-- debian/debian 96597 2015-03-15 19:39 2015-03-15-193905.jpg
-rw-r--r-- debian/debian 100795 2015-04-29 20:23 2015-04-29-202242.jpg
-rw-r--r-- debian/debian 97120 2015-08-02 13:42 2015-08-02-134230.jpg
-rw-r--r-- debian/debian 123835 2015-08-27 23:03 2015-08-27-230306.jpg
-rw-r--r-- debian/debian 97120 2015-08-02 13:42 Webcam/2015-08-02-134230.jpg
-rw-r--r-- debian/debian 100795 2015-04-29 20:23 Webcam/2015-04-29-202242.jpg
-rw-r--r-- debian/debian 116247 2014-08-09 16:38 Webcam/2014-08-09-163849.jpg
-rw-r--r-- debian/debian 96597 2015-03-15 19:39 Webcam/2015-03-15-193905.jpg
-rw-r--r-- debian/debian 162406 2014-04-12 13:42 Webcam/2014-04-12-134210.jpg
-rw-r--r-- debian/debian 123835 2015-08-27 23:03 Webcam/2015-08-27-230306.jpg

これで出力は次のようになりますtar -ztvf

-rw-r--r-- debian/debian 162406 2014-04-12 13:42 Webcam/2014-04-12-134210.jpg
-rw-r--r-- debian/debian 116247 2014-08-09 16:38 Webcam/2014-08-09-163849.jpg
-rw-r--r-- debian/debian 96597 2015-03-15 19:39 Webcam/2015-03-15-193905.jpg
-rw-r--r-- debian/debian 100795 2015-04-29 20:23 Webcam/2015-04-29-202242.jpg
-rw-r--r-- debian/debian 97120 2015-08-02 13:42 Webcam/2015-08-02-134230.jpg
-rw-r--r-- debian/debian 123835 2015-08-27 23:03 Webcam/2015-08-27-230306.jpg

明らかな欠陥は、ls見つかった各項目が2回リストされていることです。一度は必要なパスがあり、もう1つはパスがありません。各項目を2回リストする方法を「修正」しますかls

このエラーの性質(たとえば、後で何が起こっているのか)に関する追加の洞察と、全体的なアーカイブの問題へのより実用的なアプローチを参照してください。しかし、今はこれが挑戦だと考えて解決したいので、主な焦点は限界に合わせる必要がありますls

ベストアンサー1

問題は、findWebcamもディレクトリを見つけてls Webcamそれを実行すると、そこにあるすべてのファイルが一覧表示されることです。ディレクトリー以外のファイルのみをリストするには、次のように入力します。

-type f

おすすめ記事