我有一个test1.txt
文件,其中有很多行包含不同的信息。其中,有些行具有此类信息:
Fam_grapsidae
Fam_bursidae
Fam_siluridae
我想将Fam_*
更改为italic{*}
,以便加入test2.txt
:
italic{grapsidae}
italic{bursidae}
italic{siluridae}
所以我尝试了sed
:
sed 's/Fam_*/italic{*\}/g' test1.txt > test2.txt
但是我得到了:
italic{*}grapsidae
那么,如何在sed
命令中整合星号以使italic{grapsidae}
表达呢?
任何建议都将不胜感激。
答案 0 :(得分:6)
您想要的是:
sed 's/Fam_\(.*\)/italic{\1}/' test1.txt > test2.txt
答案 1 :(得分:1)
必须先使用extended regex
和-E
选项,才能在首先捕获组后取回它。
sed -E 's/Fam_(\w*)/italic{\1}/' test1.txt > test2.txt