何百ものファイルのリスト(フルパス)をランダムな順序で含むファイルから始めます。そのリストに最新の10個のファイルの詳細を記載したいと思います。bash:ファイル名に空白を含む日付順のファイルをリスト表示する
$ ls -las -t `cat list-of-files.txt` | head -10
限りファイルのどれもにスペースを持っていないとして、動作しますが、彼らがしなければ、これらのファイルは、スペースで分割し、別々のファイルとして扱われるように失敗します。これは私の素朴な試みです。ファイルの「Hello World」は私を与える:
ls: hello: No such file or directory
ls: world: No such file or directory
私は元のリスト・オブ・ファイルのファイル内のファイルを引用しようとしているが、ここでは、文書はまだ治療、ファイル名にスペースでファイルを分割ファイル名の一部として引用符:
$ ls -las -t `awk '{print "\"" $0 "\""}' list-of-files.txt` | head -10
ls: "hello: No such file or directory
ls: world": No such file or directory
私はこれをやって考えることができる唯一の方法は、(おそらくxargsのを使用して)各ファイルを個別にLSすることで、ソート可能で、ファイルのリストと日付で中間ファイルを作成します各行の最初のフィールドとして指定し、その中間ファイルをソートします。しかし、それはちょっと面倒で非効率的です(何百、何百ものlsコマンドではなく、1つまたは2つ)。しかし、それがそれを行う唯一の方法かもしれません?
「ls」に処理するファイルのリストを渡す方法はありますか?それらのファイルには空白が含まれている可能性があります。シンプルにする必要がありますが、私は困惑しています。
はあなたのすべてをありがとう - 私は仕事ここではいくつかの答えを持っている、とマルコのバージョンを使用しています。私はxargsメソッドがいくつかの微調整で動くことができると確信しています、そして私はそれをより長期的に見ていきます。すべての助けが大いに感謝します。 – Jason