Seu script pode pegar o nome do arquivo como um argumento de linha de comando. Você pode então chamar este argumento no script com a variável $ 1 e manipular essa variável da maneira que achar melhor. Por exemplo,
#!/bin/bash
# myscript.sh
year='echo $1 | cut -c 5-8'
month='echo $1 | cut -c 9-10'
day='echo $1 | cut -c 11-12'
# Etc...
# Then...
repstr='echo "$year$month$day|$day.$month.$year $hour.$minute.$second"'
sed -i "s/|||/$repstr/" $1
Em seguida, chame o script assim:
./myscript.sh ABC_20161027220153.txt