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

Команда touch {jan,feb,mar}-{Rep.xls,graph.xls} создает файлы, которые я не могу открыть:

feb-graph.xls jan-Rep.xls feb-Rep.xls mar-graph.xls jan-graph.xls mar-Rep.xls

Таким образом, я создал один шаблонный файл 1.ods, сохраненный с OO-Calc. Затем я пытался скопировать это использование файла cp снова тем же способом как cp:

cp 1.ods {jan,feb,mar}{Rep.ods,graph.ods}  

но это не работает:

CP: цель 'margraph.ods' не является каталогом

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

6
задан 26 May 2011 в 08:24

2 ответа

Объединение cat (получает содержание файла) с tee (посылает запрос содержание в файлы, указанные в аргументах):

cat 1.ods | tee {jan,feb,mar}-{Rep,graph}.ods >/dev/null

Альтернативное перенаправление оболочки использования:

tee {jan,feb,mar}-{Rep,graph}.ods >/dev/null < 1.ods

В обоих случаях, > /dev/null перенаправление, которое отбрасывает дублированное содержание (tee пишет его вход в каждый параметр и стандартный вывод).

13
ответ дан 23 November 2019 в 07:18

Как насчет,

for file in {jan,feb,mar}-{Rep.xls,graph.xls}
do
  cp 1.ods $file
done
4
ответ дан 23 November 2019 в 07:18

Другие вопросы по тегам:

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