#!/bin/bash IFS=" " for i in $( cat txt.txt ); do CONTAINSDATE=`echo $i | grep "pubdate"` if [ "$CONTAINSDATE" != "" ] then INPUTDATE=`echo $i | cut -d ">" -f 5 | cut -d "<" -f 1` FIXEDINPUTDATE=0$INPUTDATE OUTPUTDATE=`date -R -d $FIXEDINPUTDATE` echo $i | sed -e s/$INPUTDATE/$OUTPUTDATE/ else echo $i fi done :( thanks for trying date: illegal option -- R usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ... [-f fmt date | [[[[[cc]yy]mm]dd]HH]MM[.ss]] [+format]