Текст печати между (и включая) два разделителя на строке

Вот острота, которая требует только /bin/sh (это только работает на единственный каталог, однако):

for f in ./*.xml; do cp "$f" "${f%cfg.xml}cfgbk.xml"; done

Принятие Вас имеет удар 4 + (если Вы не знаете, Вы, вероятно, делаете; свериться bash --version), можно использовать globstar для рекурсивности:

shopt -s globstar
for f in ./**/*.xml; do cp "$f" "${f%cfg.xml}cfgbk.xml"; done

Вы могли бы хотеть рассмотреть более четкую схему именования для своих резервных копий, однако - я предпочту что-то как добавление '.backup' к именам файлов.

shopt -s globstar
for f in ./**/*.xml; do cp "$f" "$f".backup; done
4
19.03.2014, 16:33
5 ответов
[117100]Для точного соответствия конечной последовательности в квадратных скобках:

outputs

0
27.01.2020, 20:51
[116373]что-то вроде [12188]должно сделать трюк[116376].
3
27.01.2020, 20:51
[116474] Можно даже использовать [116885] grep[116886] и [116887] sed[116888], как показано ниже. [12246]
1
27.01.2020, 20:51
[116476] Вот чистое решение POSIX [116889] grep[116890]:[12247]
1
27.01.2020, 20:51
[116381] Вы можете использовать [116754]perl[116755]:[12190] или используя [116756]grep[116757]:[12191]
2
27.01.2020, 20:51

Теги

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