regex - 使用 sed,将特定字符串下方的部分行写入两个不同的变量

标签 regex linux sed text-processing

我有包含以下内容的文本文件,文件中只提到了一次“DOB”....

DOB
Female 1/1/1963

在列出的示例中,我需要将 Female 存储在一个名为 VarGender 的变量中,并将日期存储在一个名为 VarDOB 的字段中。我想结束......

VarGender=Female
VarDOB=1/1/1963

以下将返回 DOB 下面的整行。我可以借助一些帮助,将每一行的每一半都放入正确的变量中。

sed -n '/DOB/{n;p}' file.txt

非常感谢。

最佳答案

强制性 awk 替代方案:

awk '! /DOB/ { printf "VarGender=%s\nVarDOB=%s\n",$1,$2 }' file.txt

关于regex - 使用 sed,将特定字符串下方的部分行写入两个不同的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25314516/

相关文章:

linux - 如何使用 sed 在每个空格后添加一些文本?

macos - 如何将下一行中的另一个字符串添加到 MacOS sed 上的特定字符串?

java - 请解释*贪婪量词的工作原理

javascript - JS RegExp 未捕获匹配项

regex - Perl 正则表达式问题

linux - Docker:Linux上的 "reset to factory defaults"在哪里?

php - CodeIgniter Route 适用于 CIFS 挂载,但不适用于本地文件

linux - 如何在 ansible 中用 Linux 风格的结尾替换 Windows 风格的 CR/LF 行结尾?

sed - 使用 sed 获取文本文件的第 x、y 和 z 行

perl - perl 正则表达式中捕获组的最大数量