Как я создаю копию файла в нескольких каталогах?

pdftk[117698] используется для выполнения манипуляций с документами pdf в командной строке (слияние/сплит/...). Вы можете использовать справку по синтаксису.

С другой стороны, вы можете визуализировать содержимое pdf, например, с помощью okular

.[117405].

1
17.04.2015, 18:00
3 ответа

На основании этот ответ я полагаю, что использование

varname="ENV_$env"
echo ${!varname}

может быть решением.

-121--139493-

Я знаю недостаточно о lex / flex , чтобы быть уверенным, но, учитывая код, который я вижу в вопросе, я бы попытался добавить этот код к main () :

FILE * myfd = fopen(argv[2], "w");

и используйте fprintf () вместо printf () , как в:

{ fprintf(myfd, "%s: is a verb", yytext); }

Я использовал argv [2] в качестве источника имени файла, что означает, что вы должны предоставить его в качестве второго аргумента в вызове программы, но вы также можете жестко кодировать последовательность с именем файла.

-121--185948-

Попробуйте

найти. -name env2.cfg -execdir cp {} env3.cfg\;

Путем замены exec на execdir . Это означает, что действие ( cp ) будет выполняться в папке, в которой был найден файл ( env2.cfg ).

2
27.01.2020, 23:16

Ваш пример копирует все файлы env2.cfg в текущую рабочую директорию, которая является "...". Вам необходимо дать найденному файлу новое имя, включая его каталог. Этот сработал для меня:

for file in $(find . -name env2.cfg); do backup=$(echo $file | sed 's/env2.cfg/env3.cfg/'); cp $file $backup; done

редактирование: Или еще более элегантный способ, так что вам не придется беспокоиться о нескольких командах:

for file in $(find . -name env2.cfg); do cp $file ${file/env2/env3}; done
2
27.01.2020, 23:16

Поскольку это статическая структура, вы можете напрямую обращаться к именам файлов и позволять оболочке копировать их:

for f in conf/widget*/env2.cfg
do
    cp "${f}" "${f/env2/env3}"
done
1
27.01.2020, 23:16

Теги

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