我有一个这样的数据:
7369~SMITH~CLERK~7902~19801217~800~~20~
7499~ALLEN~SALESMAN~7698~19810220~1600~300~30~
7521~WARD~SALESMAN~7698~19810222~1250~500~30~
7566~JONES~MANAGER~7839~19810402~2975~~20~
7654~MARTIN~SALESMAN~7698~19810928~1250~1400~30~
7698~BLAKE~MANAGER~7839~19810501~2850~~30~
7782~CLARK~MANAGER~7839~19810609~2450~~10~
7788~SCOTT~ANALYST~7566~19821209~3000~~20~
7839~KING~PRESIDENT~~19811117~5000~~10~
7844~TURNER~SALESMAN~7698~19810908~1500~0~30~
第 5 个条目是加入日期。现在我想从第五个字段中提取年份?
答案1
我尝试编写带有日期比较的 awk 命令。根据您的日期尝试其中一项(1):
BSD 日期
awk -F'~' '$5 <= '$(date -v-3y +%Y%m%d)'{print $2,$3}' file
GNU (Linux) 日期
awk -F'~' '$5 <= '$(date -d '3 years ago' +%Y%m%d)'{print $2,$3}' file
答案2
假设包含您的数据的文件称为输入:
cut -d '~' -f 5 input | cut -c 1-4
输出:
1980
1981
1981
1981
1981
1981
1981
1982
1981
1981