টার: নির্দিষ্ট আকারের চেয়ে বড় ফাইল সংরক্ষণাগার এড়িয়ে চলুন


11

আমি 3 এমবি আকারের নীচে থাকা ফাইলগুলি (টার সহ) সংরক্ষণাগারভুক্ত করতে চাই। তবে আমি সেই ডিরেক্টরিগুলিও বজায় রাখতে চাই যেখানে এই ফাইলগুলি বিদ্যমান। (সুতরাং আমি findআদেশ ব্যবহার করতে পারি না )। আমি কেবল 3 এমবি আকারের ফাইলগুলি এড়াতে চাই। কিভাবে এই কাজ করা যেতে পারে?


2
তাহলে কেন আপনি findআবার ব্যবহার করতে পারবেন না ?
ইগনাসিও ওয়াজকেজ-আব্রামস

ডিরেক্টরি কমান্ড ডিরেক্টরি অক্ষত রাখতে পারে?
নিক্সনটউইন

উত্তর:


23

আপনি যা ভাবেন তার চেয়ে সহজ:

$ tar cf small-archive.tar /big/tree --exclude-from <(find /big/tree -size +3M)

3MiB এর চেয়ে বড় পাথ বিয়োগের ফাইলের অধীনে সমস্ত ফাইলের (ডিরেক্টরি সহ) ফাইলের একটি তালিকা পাওয়ার জন্য একটি অর্ধ-সম্পর্কিত নোটে (আপনার বক্তব্য সম্পর্কিত যা আপনি সন্ধান করতে পারবেন না) তে ব্যবহার করুন:

$ find . -size -3M -o -type d

আপনি তখন করতে পারেন:

$ tar cf small-archive.tar --no-recursion --files-from <(find /big/tree -size -3M -o -type d)

তবে আমি প্রথমটিকে এটি সহজ হিসাবে পছন্দ করব, আপনি যা চান তা স্পষ্টভাবে প্রকাশ করে এবং কম বিস্ময়ের দিকে পরিচালিত করবে।


2
+1 কি! এসএফ-তে একজন নম্র, বন্ধুত্বপূর্ণ ব্যক্তি?!?
জঙ্গোসি

1
+1 একই পলল। ইদানীং এসএফ-তে প্রচুর অহঙ্কারী ট্রোল।
পটোশি パ ト シ

* অনুভূতি: পি :)
মিকি বিবি

1

যদি ফাইলনামটিতে স্কোয়ার ব্র্যাকেট থাকে তবে কিছু সিস্টেমে স্পষ্টভাবে বাদ দিতে হবে। উদাহরণ স্বরূপ

$ mkdir test
$ echo "abcde123456" > ./test/a[b].txt
$ echo "1" > ./test/a1.txt
$ ls -la ./test
total 16
drwxrwxr-x 2 user user 4096 Jan 10 16:38 .
drwx------ 4 user user 4096 Jan 10 16:38 ..
-rw-rw-r-- 1 user user    2 Jan 10 16:38 a1.txt
-rw-rw-r-- 1 user user   12 Jan 10 16:38 a[b].txt
$ tar -zcvpf a.tar.gz ./test
./test/
./test/a[b].txt
./test/a1.txt
$ tar -zcvpf a3.tar.gz ./test --exclude-from <(find ./test -type f -size +3c)
./test/
./test/a[b].txt
./test/a1.txt
$ tar -zcvpf ax.tar.gz ./test --exclude-from <(find ./test -type f -size +3c) --exclude '*\[*'
./test/
./test/a1.txt

0

আপনি SSH- র মাধ্যমে কোনো সার্ভারে এই কাজ করার চেষ্টা করছেন, কারণ কাজ না করবে না এই । এটির কাজটি করতে, আপনি পাইপ এবং xargs ব্যবহার করতে পারেন:

find /path/to/dir -type f -size -3M | xargs tar cf archive.tar
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.