I have file as:
$cat file.txt 1981080512 14 15 2019050612 17 18 2020040912 19 95
Here the 1st column represents dates as YYYYMMDDHH
I would like to write the dates as YYMMDDHH. So the desire output is:
81080512 14 15 19050612 17 18 20040912 19 95
My script:
while read -r x;do
yy=$(echo $x | awk '{print substr($0,3,2)}')
mm=$(echo $x | awk '{print substr($0,5,2)}')
dd=$(echo $x | awk '{print substr($0,7,2)}')
hh=$(echo $x | awk '{print substr($0,9,2)}')
awk '{printf "%10s%4s%4sn",'$yy$mm$dd$hh',$2,$3}'
done < file.txt
It is printing
81080512 14 15 81080512 17 18
Any help please. Thank you.
Advertisement
Answer
Please don’t kill me for this simple answer, but what about this:
cut -c 3- file.txt
You simply cut the first two digits by showing character 3 till the end of every line (the -c switch indicates that you need to cut characters (not bytes, …)).