搜索和替换引号之间的值

时间:2013-11-20 17:29:11

标签: perl bash sed awk

我在OSX上有一个文件,我希望将其替换为具有相同值的双引号之间的所有实例,但将其设置为颜色。引号之间的这个值不是常数。我被卡住了。

示例:

Before:
username "test1" blah "fasdf fsaf"
username "test2" blah "more blah"

After:
username "<blue>test1</blue>" blah "<blue>fasdf fsaf</blue>"
username "<blue>test2</blue>" blah "<blue>more blah</blue>"

2 个答案:

答案 0 :(得分:0)

perl -wpe's!"([^"]*)"!"<blue>$1</blue>"!g' filename

答案 1 :(得分:0)

您想将颜色标签放在问题中,还是在终端中使用ANSI颜色?如果是第一个,jkshah给了你答案。但如果你想要ANSI颜色,那就有点棘手了。尝试这样的事情:

sed -e $'s/"\([^"]\+\)"/"\033[1;34m\\1\033[0m"/g' <(echo 'foo "bar" baz')

<(echo 'foo "bar" baz')替换为您要解析的文件。