2 #------------------------------------------------------------------------------
4 # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
6 # \\ / A nd | Copyright held by original author
8 #------------------------------------------------------------------------------
10 # This file is part of OpenFOAM.
12 # OpenFOAM is free software; you can redistribute it and/or modify it
13 # under the terms of the GNU General Public License as published by the
14 # Free Software Foundation; either version 2 of the License, or (at your
15 # option) any later version.
17 # OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
18 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 # You should have received a copy of the GNU General Public License
23 # along with OpenFOAM; if not, write to the Free Software Foundation,
24 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
27 # foamUpdateCaseFileHeader
30 # Updates the header of application files.
31 # By default, writes current version in the header.
32 # Alternatively version can be specified with -v option.
33 # Also removes consecutive blank lines from file.
35 #------------------------------------------------------------------------------
36 foamVersion
=$WM_PROJECT_VERSION
41 Usage: ${0##*/} [OPTION] <file1> ... <fileN>
44 -v VER specifies the version to be written in the header
47 Updates the header of application files and removes consecutive blank lines.
48 By default, writes current OpenFOAM version in the header.
49 An alternative version can be specified with the -v option.
57 /*--------------------------------*- C++ -*----------------------------------*\\
59 | \\\\ / F ield | OpenFOAM Extend Project: Open Source CFD |
60 | \\\\ / O peration | Version: ${foamVersion} |
61 | \\\\ / A nd | Web: www.extend-project.de |
62 | \\\\/ M anipulation | |
63 \\*---------------------------------------------------------------------------*/
78 if [ -n "${LOCATION}" ];
92 # extract attribute '$1' from file '$2'
95 sed -n -e 's/[ ;]*$//' -e "s/^ *$1 *//p" $2
101 opts
=$
(getopt hv
: $
*)
104 echo "Aborting due to invalid option"
108 while [ "$1" != "--" ]
123 [ $# -ge 1 ] || usage
125 # constant width for version
126 foamVersion
=$
(printf %-36s $foamVersion)
134 if [ ! -x "$caseFile" ] && (grep "^ *FoamFile" $caseFile >/dev
/null
2>&1)
136 echo "Updating case file: $caseFile"
137 sed -n '/FoamFile/,/}/p' $caseFile > FoamFile.tmp
139 FORMAT
=$
(FoamFileAttribute format FoamFile.tmp
)
140 CLASS
=$
(FoamFileAttribute class FoamFile.tmp
)
141 NOTE
=$
(FoamFileAttribute note FoamFile.tmp
)
142 LOCATION
=$
(FoamFileAttribute location FoamFile.tmp
)
143 OBJECT
=$
(FoamFileAttribute object FoamFile.tmp
)
145 printHeader
> FoamFile.tmp
146 sed '1,/}/d' $caseFile |
sed '/./,/^$/!d' |
sed 's/ *$//g' >> FoamFile.tmp
147 #sed '1,/}/d' $caseFile >> FoamFile.tmp
149 # use cat to avoid removing/replace soft-links
150 [ -s FoamFile.tmp
] && cat FoamFile.tmp
>|
$caseFile
151 rm -f FoamFile.tmp
2>/dev
/null
153 echo " Invalid case file: $caseFile" 1>&2
157 #------------------------------------------------------------------------------