厳密に判断しないでください。私は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'
私は時々それを使用します。
誰かがより受け入れやすい解決策を心に抱いているなら、お願いします。
更新しました。 タスクを完全には説明しませんでした。 コピーされたディレクトリのサブディレクトリの構造を保存し、サブディレクトリ自体をコピーする必要があります。サブディレクトリ内のファイルだけではありません。
Upd2。 プロンプトのプロンプト:
rsync -r --exclude=PATTERN from/ to/
SRC=~/work/soruce; DEST=~/work/test; REGEXP=js; pushd $SRC; for I in $(find ./ | grep -v "$REGEXP"); do if [ -d $I ]; then mkdir $DEST/$I; else cp $I $DEST/$I; fi; done; popd 2>/dev/null