Regxp在String上并返回找到的项目

时间:2019-06-26 13:02:20

标签: bash

我通过文件进行解析,并搜索带有日期的一些单词,例如开始和结束。

对于我来说,我都有正则表达式(例如,日期)或搜索词。

结果应该看起来像... 数据可能看起来像

“开始做某事,等等……于26.06.2019 / 14:47”

具有不同的时间和不同的内容;

“从26.06.2019 / 14:47开始”

#!/bin/bash
### Monitoring v0.1 
filename=/home/csd/test/lmstat_lmi1_fox.txt
searchpattern='Start'
search='^[0-9]{2}\.[0-9]{2}\.[0-9]{2}([0-9]{2})?[[:space:]]*/[[:space:]]*[0-9]{2}:[0-9]{2}$'
output=''
input=''
result=''
line=0
function readline
{
    file=$filename
    while IFS= read -r LINE
    do
    input=$LINE
   ## p="${LINE}\n";
   ## echo -e "${p}"
    searchpattern { args : string $input, string $searchpattern}
    done < $file
}

function searchpattern
{
    input=$1
    searchpattern=$2
    echo `expr "$input" : "$searchpattern"`
    echo `expr "$input" : "$search"`

}

目前返回0 ...我该如何重写呢?

预先感谢

样本输入看起来像这样...

"Testfile...
Start   AUFBAU BUSHDAT     : 25.06.19 / 16:30
Ende    AUFBAU BUSHDAT     : 25.06.19 / 16:31
...
...
Start   AUFBAU BUSHIDODAT     : 25.06.19 / 17:20
Ende    AUFBAU BUSHIDODAT     : 25.06.19 / 18:42
....
...."

更新

具有一些传递参数错误,但尚未解决...

现在具有以下代码

function readline
{
    file=$filename
    while IFS= read -r LINE
    do
    input=$LINE
    search=$search
    searchpattern "$input" "$search"
    done < $file
}

function searchpattern
{

    input=$1
    search=$2
    echo $(echo "$input" | grep -o -P  "$search")
}

但是我没有结果

0 个答案:

没有答案