bunun gibi bir sorunla karşılaştım ...
Aslında iki şekilde size işleyebilir find
komut çıktısını copy
komutu
Eğer find
dosya adı içinde boşluk içermiyorsa komutun çıktısı herhangi uzay ie içermiyor o zaman aşağıda belirtilen komutunu kullanabilirsiniz:
Sözdizimi: find <Path> <Conditions> | xargs cp -t <copy file path>
Misal: find -mtime -1 -type f | xargs cp -t inner/
Ancak üretim veri dosyalarımız çoğu zaman içinde alan içerebilir. Dolayısıyla, aşağıda belirtilen komut çoğu zaman daha güvenlidir:
Sözdizimi: find <path> <condition> -exec cp '{}' <copy path> \;
Misal find -mtime -1 -type f -exec cp '{}' inner/ \;
İkinci örnekte, son kısım yani noktalı virgül de find
komutun bir parçası olarak kabul edilir ve enter düğmesine basmadan önce kaçılması gereken komuttur. Aksi takdirde böyle bir hata alırsınız
find: missing argument to `-exec'
Sizin durumunuzda, bul dosyasını içine kopyalamak için kopyalama komutu sözdizimi yanlış/home/shantanu/tosend
. Aşağıdaki komut çalışacaktır:
find /home/shantanu/processed/ -name '*2011*.xml' -exec cp {} /home/shantanu/tosend \;
\;
?