如何从日期格式中提取年份并查找大于的所有年份

时间:2015-02-07 23:48:24

标签: bash shell date awk format

我需要在一个字段中打印超过1900年的所有年份。我曾经习惯用日期来获取字段。但是我无法弄清楚如何使用awk来拉动> = 1900年。

到目前为止,我通过输入以下内容来取消此字段:

awk -F',' ' {print $ 5}' presidents.csv

这给了我这些日期

4/03/1893
4/03/1897
14/9/1901
4/3/1909
4/03/1913
4/03/1921
2/8/1923
4/03/1929
4/03/1933
12/4/1945
20/01/1953
20/01/1961
22/11/1963
20/1/1969
9/8/1974
20/01/1977
20/01/1981
20/01/1989
20/01/1993
20/01/2001
20/01/2009
Incumbent

2 个答案:

答案 0 :(得分:2)

   awk -F',' '{print $5}' presidents.csv | awk -F '/'  '$3 > 1900 { print $1"/"$2"/"$3 }'

答案 1 :(得分:2)

试试这个

  #instead of presidents.csv
 echo "
f1,f2,f3,f4,4/03/1893
f1,f2,f3,f4,4/03/1897
f1,f2,f3,f4,14/9/1901
f1,f2,f3,f4,4/3/1909
f1,f2,f3,f4,4/03/1913
f1,f2,f3,f4,4/03/1921" \
| awk -F',' '{print $5}' \
| awk '{split($0,lineArr,"/");if (lineArr[3] > 1900) print $0}'
14/9/1901
4/3/1909
4/03/1913
4/03/1921