LINUX.ORG.RU

Перенаправление вывода внутри exec

 , ,


0

1

Задаются три параметра: расширение, название каталога и другое расширение. Нужно найти внутри каталога все файлы с заданным расширением и хвостовую часть файла записать в файл, название которого формируется так: «имя исходного файла.третий параметр». Вот кусок кода:

find ./$2 -name «*.$1» -exec tail {} >> «{}.$3» ;

Вместо того, чтобы имена найденных файлов подставлять в {}.$3, он создает файл с именем {}.«$3», и записывает все туда. Что здесь нужно переписать, чтобы работало как надо?

Попробовала написать по-другому:

find ./$2 -name «*.$1» | while read a do tail a >> «${a}.$3» done

В этом случае файлы создаются, но в них ничего не записывается, а при запуске пишет:

tail: can’t open ‘a’ : no such file or directory

JoannaDevis ()