Pull to refresh
0
0
LisTik @LisTik

User

Send message

Как в linux консоли скопировать файлы и папки исключая некоторые из них по регулярному выражению

Reading time 1 min
Views 21K
Здравствуйте, хабражители.

Не судите строго, я новичёк в linux-е и это мой первый пост на хабре, но может кому-то похожему на меня он окажется полезным.

Столкнулся с необходимостью решить задачу, описанную в заголовке. Готового решения не нашёл. Написал sh скрипт (cpexclude.sh), который сначала копирует всё, а потом удаляет лишнее:

#!/bin/bash
if [ $# -lt 3 ] ; then
	echo "cpexclude usage: pathFrom pathTo excludeRegex"
	exit 0
fi
pathFrom=$1
pathTo=$2
excludeRegex=$3
# Copy everything
echo `cp -a $pathFrom/. $pathTo`
# Delete by excludeRegex
echo `find $pathTo -regex $excludeRegex -delete`

Добавил его в ~/.bashrc

alias cpexclude='/path/to/cpexclude.sh'

Пользуюсь время от времени.
Если у кого-нибудь на уме есть более приемлемое решение, милости прошу.
Читать дальше →
Total votes 46: ↑25 and ↓21 +4
Comments 43

Information

Rating
Does not participate
Location
Молдова
Date of birth
Registered
Activity