Как я мог скопировать каждого постоянного клиента файлы (не каталоги или какой-либо другой тип) от ~/foo
это заканчивается в цифре, больше или равной, чем 3 к ~/bar
? Я попробовал find
и cp
команды, но я не мог заставить это работать: find ~/foo -type f -regex '.*[!012]' -exec cp ~/bar
.
Примеры:
some.file12
не был бы скопирован, потому что его последняя цифра равняется 2, и 2 <3.somefile603
был бы скопирован. 3 = 3.foo3405
был бы скопирован. 4> 3.file02.txt
не был бы скопирован. Это не заканчивается в цифре.Это собирается работать (Включает каталоги также):
cp ./*[3-9] /path/to/dst
с находкой (только файлы):
find ./src -iname "*[3-9]" -type f -exec cp {} path/to/dst/ \;
использование regex (только файлы):
find ./src -regex "^.*[3-9]$" -exec cp {} path/to/dst/ \;
pdebski@PaDe:~/test$ ls -l
total 0
-rw-rw-r-- 1 pdebski pdebski 0 cze 20 18:42 a1
-rw-rw-r-- 1 pdebski pdebski 0 cze 20 18:42 a7
-rw-rw-r-- 1 pdebski pdebski 0 cze 20 18:45 a9
pdebski@PaDe:~/test$ ls -l ../test2
total 0
pdebski@PaDe:~/test$ find . -name '*[3456789]' -print -exec cp {} ../test2 \;
./a9
./a7
pdebski@PaDe:~/test$ ls -l ../test2
total 0
-rw-rw-r-- 1 pdebski pdebski 0 cze 20 18:51 a7
-rw-rw-r-- 1 pdebski pdebski 0 cze 20 18:51 a9