Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 只匹配一次模式,然后继续下一个模式,即使同一个模式在shell脚本中再次匹配_Bash_Shell - Fatal编程技术网

Bash 只匹配一次模式,然后继续下一个模式,即使同一个模式在shell脚本中再次匹配

Bash 只匹配一次模式,然后继续下一个模式,即使同一个模式在shell脚本中再次匹配,bash,shell,Bash,Shell,我只想匹配一次模式,然后继续下一个模式,即使相同的模式再次匹配 资料来源: readMetaData(){ if grep -q $1 $MetaDataFile then echo $1" Matched with Metadata Pattern, so calling HDFSWriter.jar" #java -jar HDFSWriter.jar $1 else echo "ACK Filename not mac

我只想匹配一次模式,然后继续下一个模式,即使相同的模式再次匹配

资料来源:

readMetaData(){
    if grep -q $1 $MetaDataFile
    then
        echo $1" Matched with Metadata Pattern, so calling HDFSWriter.jar"
        #java -jar HDFSWriter.jar $1
    else
        echo "ACK Filename not mactched with Metadata Pattern"
    fi
}
cd $ACKPath
FileList="ls -t *.ack"
fileList=`$FileList`
for f in $fileList
do
    FilePattern=`echo $f | cut -d '_' -f1-3`
    echo $f
    echo $FilePattern
    readMetaData $FilePattern
done
文件夹中的可用文件:

ABC_PRODUCT_REFERENCE_9_2019092630009562.ack
ABC_PRODUCT_REFERENCE_10_2019092630009986.ack
IJK_VIEW_COB_9_2019092630009562.ack
IJK_VIEW_COB_10_2019092630009986.ack
XYZ_VIEW_MONTH_9_2019092630009562.ack
XYZ_VIEW_MONTH_10_2019092630009986.ack
要与“.csv”文件中可用的模式匹配的模式:

ABC_PRODUCT_REFERENCE_<ROWCOUNT>_<CHECKER>_<TIMESTAMP>.ack
IJK_VIEW_COB_<ROWCOUNT>_<CHECKER>_<TIMESTAMP>.ack
XYZ_VIEW_MONTH_<ROWCOUNT>_<CHECKER>_<TIMESTAMP>.ack

grep有一个-m标志来指定匹配的数量。这些模式是在文件的同一行上,还是在不同的记录中?如果它们位于不同的以下紧密连接的记录中,我将使用
grep-m1-A50…
捕获下一个(例如)50行,然后为其他标记grep该输出。
ABC_PRODUCT_REFERENCE_10_1514120_2019092630009986.ack
ABC_PRODUCT_REFERENCE Matched with Metadata Pattern
ABC_PRODUCT_REFERENCE_9_1514120_2019092630009562.ack
ABC_PRODUCT_REFERENCE
ABC_PRODUCT_REFERENCE Matched with Metadata Pattern