Похоже, вы используете цепочку инструментов, сконфигурированную для целей softfloat
. Вам понадобится аппаратная поддержка плавающей запятой -.
find
раствор:
find all -type f -name "*.txt" ! -path "all/txt/*" -exec echo mv -t all/txt '{}' \;
Может быть, попробовать это. Чтобы не перемещать файлы, только что перемещенные в all/txt
, переместите их в новый каталог txt
за пределами all
, затем переместите txt
в all
. Вот так:
$ mkdir txt
Следующий будет только печатать все команды перемещения. Проверьте, что вам нравится что ты видишь:
$ find all | sed -rn 's#^all/recup_dir.([^/]*)/([^/]*).txt$#mv -n "&" "txt/\1-\2.txt"#p'
mv -n "all/recup_dir.20/2.txt" "txt/20-2.txt"
mv -n "all/recup_dir.20/1.txt" "txt/20-1.txt"
mv -n "all/recup_dir.19/5.txt" "txt/19-5.txt"
mv -n "all/recup_dir.19/4.txt" "txt/19-4.txt"
...
Когда они удовлетворены, запустите их, добавив| sh
:
$ find all | sed -rn 's#^all/recup_dir.([^/]*)/([^/]*).txt$#mv -n "&" "txt/\1-\2.txt"#p' | sh
затем поместите txt
на место:
$ mv txt all