как переименовать файлы при копировании?

Исполняемый файл sh необходимое для современных подобных Unix операционных систем. Существуют различные стандарты (например, POSIX) диктующий, что это означает, хотя с тех пор "подобный Unix" не обязательно означает "сертифицированный совместимый" с чем-либо, действительность варьируется несколько. В целом они, по крайней мере, реализуют что-то совместимое с sh, исходная Оболочка Bourne. Это то, почему sh обычно символьная ссылка, и "sh" лучше всего понят сегодня как стандарт для поведения того, с чем это связывается.

bash Граница Снова Shell, который является что sh часто ссылки на в системах GNU/Linux (но существуют другие возможности, такой как dash и ash). Bash включает все функции sh и предназначается для обеспечения обратной совместимости для sh сценариев. В этой совместимости существуют, по-видимому, некоторые потенциальные неясные незначительные сбои, но они являются, вероятно, не слишком значительными.

Таким образом с точки зрения функциональности, удар расширяет sh; это делает все a sh если и многое другое. Другой популярный расширил sh реализацию, которая также удовлетворяет, POSIX является KornShell, ksh.

Другое происхождение командного процессора общего назначения, все еще используемое в *, отклоняет мир, оболочка C, csh. Оболочка C, однако, не совместима с кодом sh, и реализация никогда не связывалась бы с sh.

12
20.02.2014, 01:17
4 ответа

pax[11850] может сделать все это сразу. Вы можете сделать:

pax[11852] сохраняет время по умолчанию, но можете добавить [11853]-pe[11854], чтобы сохранить всё (лучше всего сделать как root) или [11855]-pp[11856], чтобы сохранить разрешения, например:

Иначе ([11857]pax[11858] обычно не доступен по умолчанию), конечно, лучше сделать копию, чем [11859]-переименовать[11860]:

Таким образом, для каждого файла не будет запущен отдельный процесс.

  • 7
    27.01.2020, 19:54

    Вы можете использовать команду cp с опцией -a
  • , а затем использовать цикл для переименования всех файлов при их копировании:
  • Ready. Запустите эту команду в исходном каталоге.
  • -Пояснение:
  • %-*
  • отсекает все символы после первого появления дефиса/минуса
  • -
  • , а
  • .etf
  • в конце снова добавляет расширение файла.

    Ну, и как один лайнер, поместите все это в одну строку. :-). Так

  • 15
    27.01.2020, 19:54

    cp

  • не имеет такой возможности. Я вспоминаю, что
  • cp имел такую возможность, но текущий manpage говорит об обратном. Однако, (gnu) tar имеет опцию --трансформировать
  • :

    Так что у вас была бы смесь типа:

  • 1
    27.01.2020, 19:54

    Теги

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