如何使用
variable=value
& sed
提取字符串中的 awk
?
例如考虑以下字符串,
大家好,你们好吗。我想从这个字符串中提取
。birthdate=July0808128
$ s="birthdate=July0808128"
$ echo "${s%=*}"
birthdate
$ echo "${s#*=}"
July0808128
--编辑--
我有很多行的文件。其中 3 行类似于:>Hi Rock 你好吗。我想从这个字符串中提取birthdate=July0808128。 >嗨,阿克谢,你好吗。我想从这个字符串中提取birthdate=July0808128。我想从上面提取生日=July0808128 字符串
grep -Po 'birthdate=\w+' yourfile
或
grep -Po 'birthdate=\w+[0-9]{7}' yourfile
应该可以。
您可以使用
awk
在 =
处进行分割
variable=$(awk -F'=' '{print $1}')
value=$(awk -F'=' '{print $2}')
echo $variable $value
在一个衬垫中执行此操作的一种方法是使用
read
函数读取 awk
或您使用的任何命令的输出。例如:
line="birthdate=July0808128"
read variable value <<< $(echo $line | awk -F'=' '{print $1 " " $2}')
echo $variable
echo $value
将会输出
birthdate
July0808128