Страница 1 из 1
Bash: создать три копии файла.
Добавлено: 03 дек 2015, 19:59
zxcv
Всем доброго времени суток!!!
Помогите разобраться.
Какой командой можно создать три копии файла (с разными именами)?
Команда:
Создаст три файла:
test1.txt,
test2.txt,
test3.txt;
Почему не получается заменить команду "touch" на "cp" или "cat" и таким же образом скопировать уже
имеющийся файл три раза?
В чем мое заблуждение?
Re: Bahs: создать три копии файла.
Добавлено: 04 дек 2015, 00:13
Olej
zxcv писал(а):
Почему не получается заменить команду "touch" на "cp" или "cat" и таким же образом скопировать уже
имеющийся файл три раза?
Код: Выделить всё
olej@nvidia ~/2015_WORK/tmp $ ls -l
итого 0
olej@nvidia ~/2015_WORK/tmp $ echo 123 > f1
olej@nvidia ~/2015_WORK/tmp $ cat f1 | tee f2 | tee f3 | tee f4 > /dev/null
olej@nvidia ~/2015_WORK/tmp $ ls -l
итого 16
-rw-r--r-- 1 olej olej 4 дек. 3 23:11 f1
-rw-r--r-- 1 olej olej 4 дек. 3 23:11 f2
-rw-r--r-- 1 olej olej 4 дек. 3 23:11 f3
-rw-r--r-- 1 olej olej 4 дек. 3 23:11 f4
olej@nvidia ~/2015_WORK/tmp $ cat f*
123
123
123
123
Re: Bahs: создать три копии файла.
Добавлено: 04 дек 2015, 00:21
Olej
zxcv писал(а):
Почему не получается заменить команду "touch" на "cp" или "cat" и таким же образом скопировать уже
имеющийся файл три раза?
Потому, что у touch - 1 параметр, и вы вместо него подставляете регулярное выражение.
А у cp - 2 параметра, и у cat вам понадобится 2 параметра - перенаправление потока вывода.
И вы считаете, что каждое имя, производящееся из регулярного выражения для 1-го параметра - должно взаимно однозначно соответствовать (как-то расширять) имя 2-го параметра.
А bash так не считает
... и правильно, в общем, делает.
Смотрим:
Код: Выделить всё
olej@nvidia ~/2015_WORK/tmp $ cat f* > g*
olej@nvidia ~/2015_WORK/tmp $ ls -l
итого 20
-rw-r--r-- 1 olej olej 4 дек. 3 23:11 f1
-rw-r--r-- 1 olej olej 4 дек. 3 23:11 f2
-rw-r--r-- 1 olej olej 4 дек. 3 23:11 f3
-rw-r--r-- 1 olej olej 4 дек. 3 23:11 f4
-rw-r--r-- 1 olej olej 16 дек. 3 23:14 g*
Для cat это команда
последовательно обработать все файлы 1-го параметра ... он их и обработал.
Bahs: создать три копии файла.
Добавлено: 04 дек 2015, 17:48
zxcv
Olej, большое СПАСИБО, за разъяснение!!!