Sunday, June 28, 2020

bash variable string operations


$ dummy=ABCDEFGHIJ

$ echo ${#dummy}        # string length '#'
10

$ echo ${dummy:0:2}     # slice w/ offset and [length]
AB
$ echo ${dummy:5}       # default length: all
FGHIJ

$ echo ${dummy:-3}     # no space before '-', not working
ABCDEFGHIJ
$ echo ${dummy: -3}    # MUST have space, it matters
HIJ
$ echo ${dummy: -7:4}
DEFG


# pipe to other commands

$ echo $dummy | tail -c 3    # character, last 3 including '\n'
IJ

$ echo $dummy | cut -c2-5    # 'cut' to specify character positions
BCDE
$ echo $dummy | cut -c2,4-5
BDE

$ echo $dummy | grep -o ...$   # last 3 any characters
HIJ

$ echo $dummy | egrep -o '.{1,3}$'
HIJ

Labels: , , , , , , ,

Sunday, May 17, 2020

bash script counter increment

# TL;NR
$((counter + 1))


# Example - count lines of a file, similar to bash command "wc -l file.txt" :

num=0

while read f
do
  echo "$f"
  num=$((num + 1))
done < imput.txt

echo $num




Labels: , , , ,