В Nautilus -> Preferences выберите следующий
, чтобы иметь возможность удалять файлы, а не помещать их в контекстное меню контекстного меню.
Команда rename уже установлена, вам больше не нужно ничего добавлять.
rename принимает Perl-код в качестве своего первого аргумента. Наиболее конкретные варианты переименования состоят из замены регулярного выражения: s/REGEXP/REPLACEMENT/. Чтобы удалить существующее расширение, замените все, начиная с последнего символа ..
rename 's/\.[^.]*$/.txt/' /path/to/directory/*
Если ваши файлы не имеют расширения (нет имени . в их имени), вы можете использовать $ (который соответствует концу имени файла) в качестве regexp или добавляет .txt к имени.
rename '$_ = "$_.txt"' /path/to/directory/*
Это не изменяет содержимое файлов, оно только переименовывает их. Если ваши данные не в нужном формате, это совершенно не связанная проблема.
Я думаю, вы можете использовать этот простой скрипт bash
rename_ext_script.sh
#!/bin/bash
for file in *
do
mv -- "${file}" "${file%.*}.txt"
done
этот скрипт работает для обоих случаев с расширением или без
Обзор
В Ubuntu Software Center есть действительно простой в использовании и мощный инструмент графического интерфейса для переименования партий файлов, pyRenamer
Обзор
sudo apt-get install pyrenamer
или
Скриншоты
[ ! d13]
У меня есть этот скрипт. Я знаю, что это не манекен-доказывание, а именно при обработке файлов с пробелами. Вот почему я запускаю детокс в начале.
#!/bin/bash
# detox *
# uncomment if you want to get rid of spaces and funny characters
script=$(basename $0)
if [ -z "$1" ] || [ "$1" == "-h" ] || [ "$1" == "--help" ]; then
clear
echo "Script for adding an extension to files without extension"
echo "---------------------------------------------------------"
echo -e "\n Usage:"
echo -e " $script extension\n"
echo -e "Exampli gratia: \n The command:"
echo " $script txt"
echo -e " will rename:\n FileWithoutExtension -> FileWithoutExtension.txt\n"
else
for file in $(ls -p -I '*.*' | grep -v '/$') # excludes direcotires
do
mv -iv "$file" "$file.$1"
done
fi
Если у вас есть куча файлов без расширений вообще (например, ./out_1, ./out_2, out_3, ...):
cd YOUR_DIRECTORY_HERE
ls | xargs -i{} mv {} {}.YOUR_EXTENSION_HERE
example