我希望它检测 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/