Переместить фиксированную подстроку в конец имени файла при копировании файлов - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть куча файлов в папке с именами, которые начинаются с MyTest:

MyTestHttpAdaptor.class
MyTestJobCreation.class

Я хочу создать копии этих файлов с именами, которые удаляют префикс MyTest, и добавитьTest суффикс:

MyHttpAdaptorTest.class
MyJobCreationTest.class

Как это можно сделать?

1 Ответ

0 голосов
/ 17 декабря 2018
for file in MyTest*.*; do    # iterate over files that start with MyTest and have a .
  ext=${file##*.}            # remove everything before the last . to get the extension
  basename=${file%.*}        # remove everything *after* the last . to get the "basename"
  new_basename=${basename#MyTest}      # remove the prefix to get the *new* basename
  new_file="${new_basename}Test.$ext"  # combine that prefix with the "Test" suffix & ext.
  [[ -e $new_file ]] || cp -- "$file" "$new_file"  # copy if result does not already exist
done

${file##*.}, ${file%.*} и ${basename#MyTest} являются примерами расширения параметра , удаления префиксов и суффиксов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...