我怎样才能从文件中找到更接近的单词?

时间:2010-02-01 11:22:17

标签: linux shell grep

我怎样才能从文件中找到更近的字?

E.g

04-02-2010  Workingday
05-02-2010  Workingday
06-02-2010  Workingday
07-02-2010  Holiday
08-02-2010  Workingday
09-02-2010  Workingday

我将上述数据存储在'feb2010'文件中,

通过这个表示我将日期存储在一个变量日期=日期'+%d-%m-%Y'

如果日期是06-02-2010,我想grep“06-02-2010 Workingday”

并希望将字符串Working day存储在变量

  • 我该怎么做?
  • 还有其他选择吗?

4 个答案:

答案 0 :(得分:1)

daytype=`grep $date feb2010 | cut -c13-`

grep输出该行,然后cut会切断该行第13个字符前的所有内容。 (另一种可能性是cut -f3 -d' ',它在第二个空格之后输出字段。)结果存储在变量daytype中。

这假设日期只在文件中出现一次。

答案 1 :(得分:1)

#! /bin/bash

grep `date '+%d-%m-%Y'` feb2010 |
while read date type; do
  echo $type
done

答案 2 :(得分:1)

使用bash shell

#!/bin/bash
mydate=$(date '+%d-%m-%Y')
while read -r d day
do
    case "$d" in
        "$mydate"*) echo $day;;
    esac
done < feb2010

答案 3 :(得分:0)

type=($(grep $date feb2010))    # make an array
type=${type[1]}                 # only keep the second element