Showing posts with label Bash programming. Show all posts
Showing posts with label Bash programming. Show all posts
Monday, May 25, 2020
Integer arithmetics with environment variables in Bash
Here there's the trivial problem type: I have a collection of files enumerated with an index with format %03i, according to the usual C-like syntax, e.g.,
fileName001.dat
fileName002.dat
fileName003.dat
....
fileName00N.dat
I need to rename these files such that the second file in that series gets index 003, the 3rd file gets index 004 and so on. I essentially need to increase of one unit the value of each file index and then print it in the right format.
Integer arithmetics is possible in Bash using the arithmetic evaluation compound command
(( <expression> ))
where <expression> is the arithmetic expression involving environment variables previously assigned integer values.
To solve the previous problem,
export I=2
J=$((I+1))
echo $J
3
printf -v COUNTERNEW "%03d" "$J"
echo $COUNTERNEW
003
printf -v COUNTEROLD "%03d" "$I"
mv fileName${COUNTEROLD}.dat fileName${COUNTERNEW}.dat
See more information about the arithmetic operation compound command at http://wiki.bash-hackers.org/syntax/ccmd/arithmetic_eval.
Wednesday, July 17, 2013
Monday, November 14, 2011
Bash printf command
The printf command is very useful for formatting expressions in Bash.
printf -v VAR <format> <expression>
See more information at the URL http://wiki.bash-hackers.org/commands/builtin/printf.
printf -v VAR <format> <expression>
See more information at the URL http://wiki.bash-hackers.org/commands/builtin/printf.
Subscribe to:
Posts (Atom)
