Предположим, у меня есть эти файлы в моей папке:
cat.txt
dog.txt
house.txt
tree.txt
I хотите переименовать все из них примерно так:
file1.txt
file2.txt
file3.txt
file4.txt
Возможно ли это сделать через командную строку?
Я только видел вопросы о переименовании файлов, которые имеют некоторые тип рисунка, например, переименование dog1.txt, dog2.txt -> cat1.txt, cat2.txt.
Для этого используйте утилиту rename:
rename -n '$_ = sprintf "file%d.txt", ++$::count' *
Идея исходит отсюда.
Для этого используйте утилиту rename:
rename -n '$_ = sprintf "file%d.txt", ++$::count' *
Идея исходит отсюда.
Для этого используйте утилиту rename:
rename -n '$_ = sprintf "file%d.txt", ++$::count' *
Идея исходит отсюда.
Это может быть сделано, но с некоторыми оговорками. Вы заявили, что «... эти файлы [находятся] в моей папке», что было бы одним из таких оговорок. Мы могли бы использовать globstar и перебирать расширенные имена файлов:
$ c=0;for f in *; do ((c++)); echo "$f" "--->" file"$c".txt ; done
cat.txt ---> file1.txt
dog.txt ---> file2.txt
house.txt ---> file3.txt
tree.txt ---> file4.txt
Конечно, вы всегда можете пойти «вручную» с помощью list.txt, где вы можете сохранить список имен файлов и прочитать этот файл через while IFS= read -r ; do ... done < list.txt
$ c=0; while IFS= read -r f; do ((c++)); echo "$f" file"$c" ; done < input.txt
cat.txt file1
dog.txt file2
tree.txt file3
Конечно, эта тема списка может быть расширена разными способами - csv-списками, json-файлами, списками ключевых значений - вы называете это. В Интернете есть много вопросов. Конечно, есть другие варианты, которые вы должны сделать, например, дать полный путь к файлам или выполнить все в той же директории, что и список.
Наконец, я уже намекнул на списки ключевых значений. С bash и другими более современными языками сценариев, такими как Python или Perl, вы можете иметь хеш (или словарь) со списком файлов и соответствующим новым именем, которое вы хотите, чтобы файл имел.
Это может быть сделано, но с некоторыми оговорками. Вы заявили, что «... эти файлы [находятся] в моей папке», что было бы одним из таких оговорок. Мы могли бы использовать globstar и перебирать расширенные имена файлов:
$ c=0;for f in *; do ((c++)); echo "$f" "--->" file"$c".txt ; done
cat.txt ---> file1.txt
dog.txt ---> file2.txt
house.txt ---> file3.txt
tree.txt ---> file4.txt
Конечно, вы всегда можете пойти «вручную» с помощью list.txt, где вы можете сохранить список имен файлов и прочитать этот файл через while IFS= read -r ; do ... done < list.txt
$ c=0; while IFS= read -r f; do ((c++)); echo "$f" file"$c" ; done < input.txt
cat.txt file1
dog.txt file2
tree.txt file3
Конечно, эта тема списка может быть расширена разными способами - csv-списками, json-файлами, списками ключевых значений - вы называете это. В Интернете есть много вопросов. Конечно, есть другие варианты, которые вы должны сделать, например, дать полный путь к файлам или выполнить все в той же директории, что и список.
Наконец, я уже намекнул на списки ключевых значений. С bash и другими более современными языками сценариев, такими как Python или Perl, вы можете иметь хеш (или словарь) со списком файлов и соответствующим новым именем, которое вы хотите, чтобы файл имел.
Это может быть сделано, но с некоторыми оговорками. Вы заявили, что «... эти файлы [находятся] в моей папке», что было бы одним из таких оговорок. Мы могли бы использовать globstar и перебирать расширенные имена файлов:
$ c=0;for f in *; do ((c++)); echo "$f" "--->" file"$c".txt ; done
cat.txt ---> file1.txt
dog.txt ---> file2.txt
house.txt ---> file3.txt
tree.txt ---> file4.txt
Конечно, вы всегда можете пойти «вручную» с помощью list.txt, где вы можете сохранить список имен файлов и прочитать этот файл через while IFS= read -r ; do ... done < list.txt
$ c=0; while IFS= read -r f; do ((c++)); echo "$f" file"$c" ; done < input.txt
cat.txt file1
dog.txt file2
tree.txt file3
Конечно, эта тема списка может быть расширена разными способами - csv-списками, json-файлами, списками ключевых значений - вы называете это. В Интернете есть много вопросов. Конечно, есть другие варианты, которые вы должны сделать, например, дать полный путь к файлам или выполнить все в той же директории, что и список.
Наконец, я уже намекнул на списки ключевых значений. С bash и другими более современными языками сценариев, такими как Python или Perl, вы можете иметь хеш (или словарь) со списком файлов и соответствующим новым именем, которое вы хотите, чтобы файл имел.