我有一个文本文件,我希望在每个以文件中的小写字母开头的单词之前插入一个像 house 这样的单词,使用sed。我试过这个,但它不起作用:
sed "s/(^[a-z]+| [a-z]+)/house (^[a-z]+| [a-z]+)/g" textfile.
答案 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