shell脚本之分割文本输出指定字段

2660阅读 0评论2016-08-26 寂寞暴走伤
分类:LINUX

题目:
假设有一个文件test.txt,它的每一行用空格分开成为4个字段,其中第二个字段表示日期,格式为yyyy-mm-dd,找出时间在2010-11-08到2010-12-20闭区间内的数据行,且只打印第1字段和第3字段;

文本内容:
[root@bogon ~]# cat test.txt 
1 2009-10-11 11 111
2 2010-11-09 22 222
3 2010-11-22 33 333
4 2010-12-21 44 444
5 2016-08-23 55 555


脚本内容:
[root@bogon ~]# cat test.sh 
for i in `awk '{print $2}' /root/test.txt`
do
  if [ "$i" \> "2010-11-08" ] && [ "$i" \< "2010-12-20" ];then
    cat  /root/test.txt | grep $i | cut -d' ' -f 1,3
  fi
done


执行结果:
[root@bogon ~]# bash test.sh 
2 22
3 33
上一篇:awk与cut在以空格为分割域时的区别
下一篇:shell脚本之分割带有特殊字符的文本