📄 migrate.sh
字号:
#!/bin/sh## $Id: migrate.sh,v 1.1.1.1 2004-09-06 12:35:00 botsch Exp $if [ "$1" == "-s" ]; then shift 1 show_skipped=1fiecho "This script prepares your source for OpenMesh Version 1-0-x"echoecho "Warning! This script visits ALL subdirectories of the current"echo "working directory and"echo echo " 1. changes includes path in text files"echo " 2. changes any occurence of 'MeshIO' into 'IO'"echo " 3. changes any occurence of 'DefaultAttributer' into 'Attributes'"echo " 4. changes any occurence of 'Attributer.hh' into 'Attributes.hh'"echo " 5. changes any occurence of 'Base::Refs::*' into 'Refs::*'"echo " 6. changes in all ACGMakefile the OpenMesh library names"echo ""echo -n "Proceed [yes/NO]? "readif [ -z $REPLY ] || [ $REPLY != "yes" ]; then echo "Aborted!" exit 0fi# ------------------------------------------------------------------------------# include path echo ""echo "# changing include paths"TMP=`grep -rl include .`for I in $TMP ; do if [[ "$I" != *_dbg* ]] && [[ $I != *_max* ]] && \ [[ "$I" != *_opt* ]] && [[ $I != *_prf* ]] && \ [[ "$I" != *.so ]]; then echo -n "processing $I.." # "correct" include path to MeshCheckerT.hh # OpenMesh/Tools/MeshCheckerT.hh -> OpenMeshTools/Utils/MeshCheckerT.hh if (grep -q "include.*OpenMesh/Tools/MeshCheckerT.hh" $I); then cat $I | \ perl -pe 's/^(\s*#\s*include\s*<.*)\/Tools\/MeshCheckerT.hh/\1Tools\/Utils\/MeshCheckerT.hh/' > $I.out mv $I.out $I if [ $? -eq 0 ]; then echo -n "." fi fi # correct include path to modules if (grep -q "include.*OpenMesh" $I) && \ !(grep -q "include.*OpenMesh/Core" $I) && \ !(grep -q "include.*OpenMesh/Tools" $I) && \ !(grep -q "include.*OpenMesh/Apps" $I); then cat $I | \ perl -pe 's/^(\s*#\s*include\s*<)\s*OpenMesh(\/.*)$/\1OpenMesh\/Core\2/' | \ perl -pe 's/^(\s*#\s*include\s*<)\s*OpenMeshTools(\/.*)$/\1OpenMesh\/Tools\2/' | \ perl -pe 's/^(\s*#\s*include\s*<)\s*OpenMeshApps(\/.*)$/\1OpenMesh\/Apps\2/' > $I.out mv $I.out $I if [ $? -gt 0 ]; then echo "ERROR" else echo "done" fi elif (($show_skipped)); then echo "skipped" else echo -ne "\r \r" fi fidone# ------------------------------------------------------------------------------echo "# changing namespaces"TMP=`grep -rl MeshIO .`for I in $TMP ; do if [[ "$I" != *_dbg* ]] && [[ $I != *_max* ]] && \ [[ "$I" != *_opt* ]] && [[ $I != *_prf* ]] && \ [[ "$I" != *.so ]]; then echo -n "processing $I.." if (grep -qE "MeshIO[^\.h]" $I); then cat $I | \ perl -pe 's/MeshIO([^\.h])/IO\1/' > $I.out mv $I.out $I if [ $? -gt 0 ]; then echo "ERROR" else echo "done" fi elif (($show_skipped)); then echo "skipped" else echo -ne "\r \r" fi fidone# ------------------------------------------------------------------------------echo "# Change DefaultAttributer to Attributes"TMP=`grep -rl DefaultAttributer .`for I in $TMP ; do if [[ "$I" != *_dbg* ]] && [[ $I != *_max* ]] && \ [[ "$I" != *_opt* ]] && [[ $I != *_prf* ]] && \ [[ "$I" != *.so ]]; then echo -n "processing $I.." if (grep -qE "DefaultAttributer" $I); then cat $I | \ perl -pe 's/DefaultAttributer/Attributes/' > $I.out mv $I.out $I if [ $? -gt 0 ]; then echo "ERROR" else echo "done" fi elif (($show_skipped)); then echo "skipped" else echo -ne "\r \r" fi fidone# ------------------------------------------------------------------------------echo "# Change Attributer.hh to Attributes.hh"TMP=`grep -rl Attributer.hh .`for I in $TMP ; do if [[ "$I" != *_dbg* ]] && [[ $I != *_max* ]] && \ [[ "$I" != *_opt* ]] && [[ $I != *_prf* ]] && \ [[ "$I" != *.so ]]; then echo -n "processing $I.." if (grep -q "Attributer.hh" $I); then cat $I | \ perl -pe 's/Attributer\.hh/Attributes.hh/' > $I.out mv $I.out $I if [ $? -gt 0 ]; then echo "ERROR" else echo "done" fi elif (($show_skipped)); then echo "skipped" else echo -ne "\r \r" fi fidone# ------------------------------------------------------------------------------echo "# Change Base::Refs::* to Refs::*"TMP=`grep -rl Base::Refs:: .`for I in $TMP ; do if [[ "$I" != *_dbg* ]] && [[ $I != *_max* ]] && \ [[ "$I" != *_opt* ]] && [[ $I != *_prf* ]] && \ [[ "$I" != *.so ]]; then echo -n "processing $I.." if (grep -q "Base::Refs::" $I); then cat $I | \ perl -pe 's/Base::Refs::/Refs::/' > $I.out mv $I.out $I if [ $? -gt 0 ]; then echo "ERROR" else echo "done" fi elif (($show_skipped)); then echo "skipped" else echo -ne "\r \r" fi fidone# ------------------------------------------------------------------------------echo "# changing ACGMakefiles"for I in `find . -name 'ACGMakefile'`; do if [[ "$I" != *_dbg* ]] && [[ $I != *_max* ]] && \ [[ "$I" != *_opt* ]] && [[ $I != *_prf* ]] && \ [[ "$I" != *.so ]]; then echo -n "processing $I.." if (grep -q ".*OpenMesh" $I) && \ !(grep -q ".*OpenMesh/Core" $I) && \ !(grep -q ".*OpenMesh/Apps" $I); then cat $I | \ perl -pe 's/OpenMesh/OpenMesh\/Core/' | \ perl -pe 's/OpenMeshApps/OpenMesh\/Apps/' > $I.out mv $I.out $I if [ $? -gt 0 ]; then echo "ERROR" else echo "done"; fi elif (($show_skipped)); then echo "skipped" else echo -ne "\r \r" fi fidone
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -