Как я могу извлечь ближе слово из файла? - PullRequest
0 голосов
/ 01 февраля 2010

Как я могу извлечь более близкое слово из файла?

* 1003 например *

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',

Этим комментарием я сохранил дату в одной переменной date = date '+% d-% m-% Y'

, если дата 06-02-2010, я хочу grep "06-02-2010 Рабочий день"

и хотите сохранить строку Рабочий день в переменной

  • Как я могу это сделать?
  • Есть ли другой вариант?

Ответы [ 4 ]

1 голос
/ 01 февраля 2010

с использованием оболочки bash

#!/bin/bash
mydate=$(date '+%d-%m-%Y')
while read -r d day
do
    case "$d" in
        "$mydate"*) echo $day;;
    esac
done < feb2010
1 голос
/ 01 февраля 2010
#! /bin/bash

grep `date '+%d-%m-%Y'` feb2010 |
while read date type; do
  echo $type
done
1 голос
/ 01 февраля 2010
daytype=`grep $date feb2010 | cut -c13-`

grep выводит строку, затем cut обрезает все до 13-го символа в этой строке. (Другая возможность - cut -f3 -d' ', которая выводит поле после второго пробела.) Результат сохраняется в переменной daytype.

Предполагается, что дата встречается в файле только один раз.

0 голосов
/ 01 февраля 2010
type=($(grep $date feb2010))    # make an array
type=${type[1]}                 # only keep the second element
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...