У меня есть проблемы при выяснении, как сделать этот сценарий удара, так как я очень плохо знаком с ударом.
Я хочу захватить все файлы, которые я имею в каталоге, меняю их имена (я думаю, что изменяющаяся часть имен может быть, покончили mv
) и переместите их в другой каталог (снова с mv
). Проблема состоит в том, что файлы не имеют расширения. Их имена являются просто числами как: 1
, 2
, 3
и т.д. Просто число. Как я захватываю каждый файл без расширения, меняю его имя и перемещаю его?
Спасибо.
Можно использовать расширенный globbing для поиска файлов только с цифрами на их имена:
shopt -s extglob
for file in +([0-9]) ; do
newname=newpath/... # Build the new name.
mv "$file" "$newname"
done
Лично, я использовал бы basename
команда, чтобы захватить само имя файла и протестировать его с grep, если бы это имеет точечный символ, который означал бы, что это имеет расширение. Это может использоваться внутри, если оператор, и если он действительно использует continue
оператор для движения в следующий файл. Что касается перемещения, которое может следовать если оператор. Тот путь mv
команда недостижима, если это не имеет расширения