3

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

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

2 回答 2

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
于 2013-03-27T00:46:25.433 回答
1

POSIX 友好版本:

sed -e 's/\([^[:alpha:]]\)\([a-z][[:alpha:]]*\)/\1house \2/g' 
    -e 's/^\([a-z]\)/house \1/' input
于 2013-03-27T00:52:23.207 回答