【发布时间】:2014-03-15 09:16:29
【问题描述】:
我很好奇如何使用 sed 执行以下操作:我需要在每行中将某些两个单词用单引号括起来。例如以下文本:
我是这样做的:
cat file |sed "s/[^ ][^ ]*/'&'/g"
结果:
'the-first-word' '-firstPrameter' 'value' '-secondParameter' 'value' '-thirdParameter' 'value' '-fourthParameter' 'value'
但它包含了每个单词。
应该是这样,跳过第一个单词,只换行参数和值:
the-first-word '-firstPrameter value' '-secondParameter value' '-thirdParameter value' '-fourthParameter value'
【问题讨论】:
-
所有参数标签都以
-开头吗? -
cat file |sed是对 Cat 的无用使用。相反,只需将文件名作为最后一个参数提供给 sed。你能解释一下为什么你需要这样做吗?也许有一个完全不同的解决方案。 -
现在它包装了“-”。 'the'-'first-word' '-'firstParameter' 'value' '-'secondParameter' 'value' '-'thirdParameter' 'value' '-'fourthParameter' 'value'