Usando o perl:
ls | perl -pe 's/(.)(.*)_(\d{4})(\d{2})(\d{2})_(\d+).jpg/\u,--,,$&/'
Em perl, (...)
é usado para agrupar texto correspondente, então (.)
é um grupo com um único caractere, (.*)
é um grupo com uma string arbitrária, (\d{2})
é um grupo com dois dígitos ( \d
é um dígito e {2}
indica dois dos anteriores) e assim por diante. \u
converte o próximo átomo em maiúsculo. ,
, ... são os vários grupos em ordem.
$&
contém todo o texto correspondente.
Saída:
Gas,2016-07-10,3432,gas_20160710_3432.jpg
Gas,2016-08-10,242,gas_20160810_242.jpg
Water,2016-10-04,4510,water_20161004_4510.jpg
Você pode adicionar os cabeçalhos de forma independente.