我在变量中存储了一行以下的条目。我想从下面的条目只grep工人和批计数,并存储在另外两个变量ts=13/12
/202213:07:34:|name=xyz|worker=5|batch=100|conf_file=/path/to/file|data_dir=/path/to/folder|logs_dir=/data/logs/
上面例子中的形式worker=5, batch=100所以我想在a中存储5即a=5 b=100注意:表项的长度不是固定的
echo $ENTRY | grep "worker" | cut -d "=" -f4
using above I am getting below output
5|batch
$ IFS='|' read _ _ w b _ <<< '/202213:07:34:|name=xyz|worker=5|batch=100|conf_file=/path/to/file|data_dir=/path/to/folder|logs_dir=/data/logs/'
$ echo "${w#*=}"
5
$ echo "${b#*=}"
100
使用bash
的=~
算子:
[[ $entry =~ '|worker='([^|]*) ]] && worker=${BASH_REMATCH[1]}
[[ $entry =~ '|batch='([^|]*) ]] && batch=${BASH_REMATCH[1]}
echo "$worker/$batch"