Синтаксис команды для копирования файла в другой каталог под другим именем

Синтаксис команды для копирования файла в другой каталог под другим именем

26.11.2017 11:43:02 Просмотров 30 Источник

Стоит задача, допустим, в каталоге var1 есть файл var1.txt его нужно скопировать в каталог var2 под именем var1_1.txt, то есть при копировании сразу должно поменяться имя файла. Вообще возможно ли это? И как тогда правильно задать синтаксис? Или же только это делать просто копированием содержимого командой Подчеркиваю, мы не копируем дерево каталогов как в соседней теме, а просто копируем один единственный текстовый файл который сразу же необходимо переименовать. Тот вариант который я якобы дублирую нам не совсем подходит.

cat var1.txt > /home/var2/var1_1.txt
У вопроса есть решение - Посмотреть?

https://ru.stackoverflow.com/questions/749992/%d0%a1%d0%b8%d0%bd%d1%82%d0%b0%d0%ba%d1%81%d0%b8%d1%81-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b-%d0%b4%d0%bb%d1%8f-%d0%ba%d0%be%d0%bf%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f-%d1%84%d0%b0%d0%b9%d0%bb%d0%b0-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%be%d0%b9-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%bf%d0%be%d0%b4-%d0%b4%d1%80%d1%83%d0%b3%d0%b8%d0%bc-%d0%b8%d0%bc%d0%b5%d0%bd%d0%b5%d0%bc#comment1154794_749992
Почитайте вопрос, который я привёл -- там сразу несколько разных способов решения.
https://ru.stackoverflow.com/questions/749992/%d0%a1%d0%b8%d0%bd%d1%82%d0%b0%d0%ba%d1%81%d0%b8%d1%81-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b-%d0%b4%d0%bb%d1%8f-%d0%ba%d0%be%d0%bf%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f-%d1%84%d0%b0%d0%b9%d0%bb%d0%b0-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%be%d0%b9-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%bf%d0%be%d0%b4-%d0%b4%d1%80%d1%83%d0%b3%d0%b8%d0%bc-%d0%b8%d0%bc%d0%b5%d0%bd%d0%b5%d0%bc#comment1154806_749992
@Vladimir В том вопросе файлы копировались по одному, потому что генерировался скрипт. Ваш вариант с basename в общем-то тоже сработает... если каталоги уже есть. А если нужно будет на лету создавать подпапки -- то удобнее посмотреть другие способы.

Ответы - Синтаксис команды для копирования файла в другой каталог под другим именем / Синтаксис команды для копирования файла в другой каталог под другим именем

Является ответом!
Vladimir

26.11.2017 11:53:21

Может, как-то так?

cp var1.txt ../var2/var1_1.txt

или для обработки большого числа файлов так:

cp var1.txt ../var2/`basename var1.txt .txt`_1.txt

Естественно, это просто пример для команды basename. В скрипте можно использовать переменные вместо реального имени var1.txt и расширения .txt.

https://ru.stackoverflow.com/questions/749992/%d0%a1%d0%b8%d0%bd%d1%82%d0%b0%d0%ba%d1%81%d0%b8%d1%81-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b-%d0%b4%d0%bb%d1%8f-%d0%ba%d0%be%d0%bf%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f-%d1%84%d0%b0%d0%b9%d0%bb%d0%b0-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%be%d0%b9-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%bf%d0%be%d0%b4-%d0%b4%d1%80%d1%83%d0%b3%d0%b8%d0%bc-%d0%b8%d0%bc%d0%b5%d0%bd%d0%b5%d0%bc/749993#comment1154789_749993
Спасибо, сейчас попробую, я пошел более длинным путем и решил сделать так сначала скопировать файл cp /var1/var1.txt var2 , а затем переименовать его командой mv var1.txt var1_1.txt, сейчас попробую Ваш вариант.
https://ru.stackoverflow.com/questions/749992/%d0%a1%d0%b8%d0%bd%d1%82%d0%b0%d0%ba%d1%81%d0%b8%d1%81-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b-%d0%b4%d0%bb%d1%8f-%d0%ba%d0%be%d0%bf%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f-%d1%84%d0%b0%d0%b9%d0%bb%d0%b0-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%be%d0%b9-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%bf%d0%be%d0%b4-%d0%b4%d1%80%d1%83%d0%b3%d0%b8%d0%bc-%d0%b8%d0%bc%d0%b5%d0%bd%d0%b5%d0%bc/749993#comment1154791_749993
если это вопрос не для автоматизации обработки большого числа файлов, то почему не изменить имя сразу при копировании? cp var1.txt ../var2/var1_1.txt
https://ru.stackoverflow.com/questions/749992/%d0%a1%d0%b8%d0%bd%d1%82%d0%b0%d0%ba%d1%81%d0%b8%d1%81-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b-%d0%b4%d0%bb%d1%8f-%d0%ba%d0%be%d0%bf%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f-%d1%84%d0%b0%d0%b9%d0%bb%d0%b0-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%be%d0%b9-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%bf%d0%be%d0%b4-%d0%b4%d1%80%d1%83%d0%b3%d0%b8%d0%bc-%d0%b8%d0%bc%d0%b5%d0%bd%d0%b5%d0%bc/749993#comment1154805_749993
блиин, это же гениально просто было... спасибо большое, как я не допер до этого изначально...
https://ru.stackoverflow.com/questions/749992/%d0%a1%d0%b8%d0%bd%d1%82%d0%b0%d0%ba%d1%81%d0%b8%d1%81-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b-%d0%b4%d0%bb%d1%8f-%d0%ba%d0%be%d0%bf%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f-%d1%84%d0%b0%d0%b9%d0%bb%d0%b0-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%be%d0%b9-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%bf%d0%be%d0%b4-%d0%b4%d1%80%d1%83%d0%b3%d0%b8%d0%bc-%d0%b8%d0%bc%d0%b5%d0%bd%d0%b5%d0%bc/749993#comment1161048_749993
Useless use of shell fork followed by basename. Короче говоря, используйте специальные модификаторы переменных: %, %%, #, ##.
https://ru.stackoverflow.com/questions/749992/%d0%a1%d0%b8%d0%bd%d1%82%d0%b0%d0%ba%d1%81%d0%b8%d1%81-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b-%d0%b4%d0%bb%d1%8f-%d0%ba%d0%be%d0%bf%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f-%d1%84%d0%b0%d0%b9%d0%bb%d0%b0-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%be%d0%b9-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%bf%d0%be%d0%b4-%d0%b4%d1%80%d1%83%d0%b3%d0%b8%d0%bc-%d0%b8%d0%bc%d0%b5%d0%bd%d0%b5%d0%bc/749993#comment1161083_749993
@0andriy, судя по обилию %% это комментарий от закоренелого виндузятника, которому всё нужно подробно разжевывать. Мой подход - всего лишь направить в нужную сторону, чтобы был интерес почитать man и потом самому решить что делать. И если бы автор вопроса попросил уточнить, тогда бы я привел пример со скриптом и переменными.
https://ru.stackoverflow.com/questions/749992/%d0%a1%d0%b8%d0%bd%d1%82%d0%b0%d0%ba%d1%81%d0%b8%d1%81-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b-%d0%b4%d0%bb%d1%8f-%d0%ba%d0%be%d0%bf%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f-%d1%84%d0%b0%d0%b9%d0%bb%d0%b0-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%be%d0%b9-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%bf%d0%be%d0%b4-%d0%b4%d1%80%d1%83%d0%b3%d0%b8%d0%bc-%d0%b8%d0%bc%d0%b5%d0%bd%d0%b5%d0%bc/749993#comment1161088_749993
В этом и отличие ruSO от нормального. За "виндузятника" отдельное спасибо! А то подзабыл уже как там и что.
Помочь в развитии проекта:
Закрыть X