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

Linux 我怎样才能从文件中找到一个更接近的单词?,linux,shell,grep,Linux,Shell,Grep,我怎样才能从文件中找到一个更接近的单词 例如 我将上述数据存储在“2010年2月”的文件中 在此之前,我将日期存储在一个变量date=date'+%d-%m-%Y'中 如果日期为2010年2月6日,我想grep“2010年2月6日工作日” 并希望将字符串Working day存储在变量中 我该怎么做 还有其他选择吗 grep输出该行,然后cut将该行第13个字符之前的所有内容都切断。(另一种可能是cut-f3-d',它输出第二个空格后的字段。)结果存储在变量daytype中 这假定日期在文件

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

例如

我将上述数据存储在“2010年2月”的文件中

在此之前,我将日期存储在一个变量date=date'+%d-%m-%Y'中

如果日期为2010年2月6日,我想grep“2010年2月6日工作日”

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

  • 我该怎么做
  • 还有其他选择吗
grep
输出该行,然后
cut
将该行第13个字符之前的所有内容都切断。(另一种可能是
cut-f3-d'
,它输出第二个空格后的字段。)结果存储在变量
daytype

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

#! /bin/bash

grep `date '+%d-%m-%Y'` feb2010 |
while read date type; do
  echo $type
done
grep
输出该行,然后
cut
将该行第13个字符之前的所有内容都切断。(另一种可能是
cut-f3-d'
,它输出第二个空格后的字段。)结果存储在变量
daytype

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

使用bash shell

#! /bin/bash

grep `date '+%d-%m-%Y'` feb2010 |
while read date type; do
  echo $type
done
#!/bin/bash
mydate=$(date '+%d-%m-%Y')
while read -r d day
do
    case "$d" in
        "$mydate"*) echo $day;;
    esac
done < feb2010
#/bin/bash
mydate=$(日期'+%d-%m-%Y')
而read-r-d日
做
表中的“$d”号格
“$mydate”*)echo$day;;
以撒
2010年2月2日以前完成
使用bash shell

#!/bin/bash
mydate=$(date '+%d-%m-%Y')
while read -r d day
do
    case "$d" in
        "$mydate"*) echo $day;;
    esac
done < feb2010
#/bin/bash
mydate=$(日期'+%d-%m-%Y')
而read-r-d日
做
表中的“$d”号格
“$mydate”*)echo$day;;
以撒
2010年2月2日以前完成

另一方面,我强烈推荐ISO8601日期时间格式(%Y-%m-%d),因为它很容易排序。交叉发布在此处:另一方面,我强烈推荐ISO8601日期时间格式(%Y-%m-%d),因为它很容易排序。交叉发布在此处:使用awk和$2可能更好。当然,也可以在引号之间用两个空格剪切-f2-d“”。是的,你说得对。2美元的话,使用awk可能会更好。当然,也可以在引号之间用两个空格剪切-f2-d“”。是的,你说得对。
#!/bin/bash
mydate=$(date '+%d-%m-%Y')
while read -r d day
do
    case "$d" in
        "$mydate"*) echo $day;;
    esac
done < feb2010