grep finds patterns in your files. It will not, however, modify your files.
sed finds patterns as well as do modification to your files.
cut is a tool to "cut" columns in your files for display/(or to file). Use it if your task is very simple as just getting some columns.
awk finds patterns in your file, and you can do modifications to it by creating another file. And awk does what sed, grep, cut does, so you can do almost anything with it with just 1 tool.
For Big sized files, use grep to find the pattern and pipe to awk/sed for manipulation of text.
for your example, if you want to get the YEAR of date
command , use date +%Y
.
various ways to get the YEAR of date
command
$ date +%Y
2010
$ date | awk '{print $NF}'
2010
$ var=$(date)
$ set -- $var
$ eval echo \${${#}}
2010
Lastly, you can use regular expressions like some sed examples, but I find it easiest to just split the fields and get the last field. No complicated regex is needed.