【发布时间】:2017-09-22 07:19:17
【问题描述】:
我想从 shell 脚本中的字符串中获取 Jobid。我可以使用以下代码获取以“CY”开头的jobid。
regex_jobid='CY[_0-9a-zA-Z]*'
temp="CY0PNI91354 Production AutoSys Job has failed. Call 249-3344. EC=111"
jobid="$(echo $temp | grep -oP "$regex_jobid")"
echo "jobid="$jobid
我需要正则表达式以低于应以任何字符开头的 jobID。
MD0PN000609
ZCYNQNI93379
CY0PNI04806
CYM03922
ZCHI70490
ZCHI70511
PMI02649
PMI07530_sched_daily
IRZ02141
IWZ00306
IWI99990
USJ98000_sched
SD000206
WFI02272
【问题讨论】:
-
应该以任何字符开头并且应该是字母数字
-
作业 ID 是否总是一行中的第一个单词?
-
No.. 字符串中的任何位置.. 示例:请保留工作 MD000080_sched 在这种情况下,jobID 是 MD000080_sched
-
那么如何判断是job id还是任意文本?
-
我们不确定..假设如果字符串是“CY0PNI94980 Production AutoSys Job has failed. Call 249-3344. EC=54. RUN130990.”,那么jobid应该是“CY0PNI94980”