regex - 将 sed 与正则表达式一起使用

标签 regex linux bash sed

我希望它检测 FILE_1 中的以下模式:

STRING_1   :   "STRING_2"

并将 STRING_2 附加到 FILE_2

这是我现在拥有的:

sed 's/STRING_1\s*:\s*"\([^"]*\)"/\1/g' FILE_1 >> FILE_2;

但这不起作用,它会向 FILE_2 附加很多随机内容(不应该匹配)。不确定我做错了什么......

最佳答案

通过更改问题规范来回答有点风险但是......

perl -ne 'print "$1\n" if ( /.*STRING_1\s*:\s*\"([^"]*)\".*/)' FILE_1 >> FILE_2

看起来工作正常

关于regex - 将 sed 与正则表达式一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4414894/

相关文章:

Java Pattern.quote ("\\d c pb sddsf\n");为什么

php - 是否可以在正则表达式中对两个单独的环视/零宽度断言(即lookbehind/look-behind)进行“与”操作?

c - Freeswitch 阻塞

linux - shell/linux 脚本仅选择某些文件到 FTP

bash - 使用 bash 生成变体

php - 使用 php 正则表达式拆分字符串

python - 正则表达式捕获字符串的两个部分

linux - 从本地仓库安装 postgresql——为什么无法从仓库下载?

bash - 从 OS X 中的 bash 脚本,是否可以提示管理员权限?

Bash 函数参数未按预期传递