วิธีที่ฉันเคยทำในอดีตคือใช้ น้ำมันดิน
ระหว่างทาง แต่ฉันแน่ใจว่ามีคำตอบอื่นที่สวยงามกว่านี้
โดยที่เรามีรายการไฟล์ที่ตรงตามเกณฑ์เฉพาะของ IE: ไฟล์ทั้งหมดใน /usr มีขนาดเล็กกว่า 1M
$ ค้นหา /usr -type f -size -1M
ที่เราต้องการคัดลอกไปยังตำแหน่ง /mnt/dst
.
คุณสามารถใช้ tar เป็นเวกเตอร์เพื่อแพ็ค/คลายข้อมูล เช่น
$ ค้นหา /usr -type f -size -1M | tar --files-จาก=- -c | tar -xv -C /mnt/dst
ครั้งแรก น้ำมันดิน
ใช้เวลา --files-จาก
ซึ่งคาดว่าจะมีรายการพา ธ แบบเต็มไปยังไฟล์ทีละบรรทัดและสร้าง tarball เพื่อ stdout
ที่สอง น้ำมันดิน
สลับไปยังเส้นทางปลายทางด้วย -ค
และแกะ tarball ที่ได้รับจากท่อ
ส่งผลให้ผลลัพธ์ต่อไปนี้ (เมื่อใช้ -v
ในคำสั่ง tar ที่สอง)
usr/lib/grub/i386-pc/fdt.lst
usr/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/__init__.py
usr/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/__init__.py
usr/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py
usr/lib/python3.6/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py
usr/lib/python3.6/site-packages/pip/operations/__init__.py
usr/lib/python3.6/site-packages/pkg_resources/_vendor/__init__.py
usr/lib/python3.6/site-packages/setuptools/_vendor/__init__.py
usr/lib/python3.6/site-packages/slip/__init__.py
usr/lib/python3.6/site-packages/slip/_wrappers/__init__.py
usr/lib/python3.6/site-packages/asn1crypto/_perf/__init__.py
...
...
ไดเร็กทอรีปลายทางที่เป็นผลลัพธ์สร้างทรี (ตัดเพื่อให้อ่านง่าย) ซึ่งควรเป็นสิ่งที่คุณกำลังมองหา..
# tree -L 3 /mnt/dst
/mnt/dst
€ââ ยูเอสอาร์
âââ ลิบ
â  âââ ด้วง
â âââ node_modules
â âââ python3.6
âââ lib64
â âââ python3.6
âââ ท้องถิ่น
â âââ แบ่งปัน
âââ แบ่งปัน
âââ นโยบายการเข้ารหัสลับ
âââ เอกสาร
âââ กรี๊ฟ
âââ microcode_ctl
âââ ละครใบ้
âââ pki
âââ texlive
âââ texmf
âââ เป็นกลุ่ม
âââ X11
20 ไดเร็กทอรี 0 ไฟล์