将带有sed的单词插入到文本文件中

时间:2013-03-27 00:39:09

标签: regex unix sed

我有一个文本文件,我希望在每个以文件中的小写字母开头的单词之前插入一个像 house 这样的单词,使用sed。我试过这个,但它不起作用:

sed "s/(^[a-z]+| [a-z]+)/house (^[a-z]+| [a-z]+)/g" textfile.

2 个答案:

答案 0 :(得分:3)

我有这条线,你还好吗?

sed -r 's/\b[a-z]\w*\b/HOUSE &/g' file

以示例:

kent$ echo "yes No yES NO y_e_s _no"|sed -r 's/\b[a-z]\w*\b/HOUSE &/g'
HOUSE yes No HOUSE yES NO HOUSE y_e_s _no

答案 1 :(得分:1)

POSIX友好版:

sed -e 's/\([^[:alpha:]]\)\([a-z][[:alpha:]]*\)/\1house \2/g' 
    -e 's/^\([a-z]\)/house \1/' input