मैं बस अपने आप को इस पार ले गया, और cp
वास्तव में निर्मित कमांड इसे संभालता है।
मैंने पुराने सीएफ कार्डों का एक गुच्छा खोजा, जिनसे मैं चित्रों को काटना चाहता था। मेरी प्रसंस्करण स्क्रिप्ट फ़ाइल mtime को सही स्थान पर रखने के लिए देखेगा, इसलिए मुझे इसे संरक्षित करने की आवश्यकता है।
से आदमी पेज :
-p Cause cp to preserve the following attributes of each source file in the copy: modification time,
access time, file flags, file mode, user ID, and group ID, as allowed by permissions. Access
Control Lists (ACLs) and Extended Attributes (EAs), including resource forks, will also be pre-
served.
If the user ID and group ID cannot be preserved, no error message is displayed and the exit value
is not altered.
If the source file has its set-user-ID bit on and the user ID cannot be preserved, the set-user-
ID bit is not preserved in the copy's permissions. If the source file has its set-group-ID bit
on and the group ID cannot be preserved, the set-group-ID bit is not preserved in the copy's per-
missions. If the source file has both its set-user-ID and set-group-ID bits on, and either the
user ID or group ID cannot be preserved, neither the set-user-ID nor set-group-ID bits are pre-
served in the copy's permissions.
इसलिए, zsh
मैं उपयोग करने में सक्षम था ( NO NAME
मेरे कार्ड की मात्रा का नाम होने के नाते):
cp -rvp /Volumes/NO\ NAME/DCIM/**/*.{JPG,jpg} ~/Desktop/tmp/pics
मेरा मानना है कि विशेष /**/*
निर्माण ZSH के लिए विशिष्ट है; हालाँकि आप कुछ ऐसा कर सकते थे
find /Volumes/WHATEVER -type d -print0 | xargs cp -vp {}/*.JPG /my/out/path