Как переименовать файлы, вытянутые из списка файлов, используя одну команду или строку

Если вы хотите изменить разрешение, вы можете использовать команду chmod. Если. Chmod 777 имя файла дает разрешение на чтение, запись, выполнение пользователю, группам и всем остальным на os

1
12.11.2018, 23:23
4 ответа
for i in `cat files-to-rename.txt`; do postfix=${i/#*\./}; mv $i ${i/%.$postfix/-orig.$postfix}; done;

это работает с произвольным постфиксом, а не только с js. однако, пожалуйста, используйте try git или svn ради себя. даже команда tar будет работать лучше.

1
27.01.2020, 23:11

Один из подходов — попросить оболочку прочитать каждую строку из файла, а затем использовать расширение параметров оболочки для извлечения базового имени файла и расширения:

while IFS= read -r filename
do
  base=${filename%.*}
  extension=${filename##*.}
  echo mv -- "my-project/$filename" "my-project/${base}-orig.${extension}"
done < files-to-rename.txt

Удалите echo, если вывод выглядит правильно.

3
27.01.2020, 23:11

С помощью команды rename. Сначала выполните подробный тестовый прогон, который ничего не изменит:

rename -n -v 's/.js$/-orig.js/' $(find my-project/)

Если это кажется правильным, удалите -n, чтобы действительно переименовать файлы:

rename    -v 's/.js$/-orig.js/' $(find my-project/)

Примечание :, чтобы установить renameна Debian или Ubuntu , выполните:

apt install rename
1
27.01.2020, 23:11

Вbash:

while read ; do mv "$REPLY" "${REPLY%.js}-orig.js" ; done < files-to-rename.txt
4
27.01.2020, 23:11

Теги

Похожие вопросы