Sangat rumit untuk melakukan hal ini karena kesulitan yang disebabkan oleh parameter "-lh" pada LS. Meskipun ada sejumlah cara untuk mendapatkan "sebagian ada". Jika Anda dapat mendeskripsikan tujuan Anda, mungkin kami dapat memberikan solusi yang elegan, jika tidak, Anda sedang melihat pengkodean yang sangat kompleks untuk menyandikan dan mendekode output. Selain itu, apakah Anda benar-benar perlu menyimpan konten sebagai variabel - akan lebih mudah digunakan jika Anda menyimpannya sebagai file [bahkan untuk penyimpanan sementara / memori] daripada berurusan dengan masalah linefeed.
davidgo
Jawaban:
1
Anda tidak perlu menyimpan hasil find dalam variabel hanya untuk dapat menghapus file (kecuali Anda memiliki beberapa persyaratan khusus yang tidak Anda sebutkan), sebagai find menyediakan spesial -delete parameter yang akan melakukannya untuk Anda:
Karena Anda tidak dapat menyimpan variabel shell dengan karakter nol, dan Anda tidak ingin memecah skrip pada spasi (yang dapat menyebabkan serangga raksasa ), solusinya dapat menyimpan daftar dalam file sementara atau membuat serialisasi data base64 ).
Jawaban:
Anda tidak perlu menyimpan hasil
find
dalam variabel hanya untuk dapat menghapus file (kecuali Anda memiliki beberapa persyaratan khusus yang tidak Anda sebutkan), sebagaifind
menyediakan spesial-delete
parameter yang akan melakukannya untuk Anda:Sebagai parsing output dari
ls
perintah tidak disarankan .Jika Anda benar-benar ingin mem-parsing file yang dikembalikan oleh
find
, Anda perlu melakukan sesuatu seperti:Karena Anda tidak dapat menyimpan variabel shell dengan karakter nol, dan Anda tidak ingin memecah skrip pada spasi (yang dapat menyebabkan serangga raksasa ), solusinya dapat menyimpan daftar dalam file sementara atau membuat serialisasi data
base64
).sumber