[英]sed for print two different word alernatively
我需要在文件的替代空格中打印兩個不同的單詞。
例如,
ABCD
EFGH
IGKL
MNOP
上面的情況,我想像下面這樣打印ab和/ ab:
ab
ABCD
/ab
ab
EFGH
/ab
ab
IGKL
/ab
ab
MNOP
/ab
*我要逐行(不是水平格式)一一。*我知道sed 's|^[[:blank:]]*$|</ab>|'
這個命令幾乎和我的情況差不多。 但我不知道該如何應用。 拜托,有人幫幫我。
與gnu sed
sed -e 'i\ab' -e 'a\/ab' infile
怎么工作的?
在每一行
首先在'i\\ab'
之前插入ab
下一個在/ ab之后加上'a\\/ab'
您必須將2個單獨的命令與'-e'
一起使用。
您不能使用sed 'i\\ab;a\\/ab'
因為第一個命令i(插入)不知道要插入文本並獲得所有行的位置。
因此,插入的文本在每行之前是ab;a/ab
。
對所有sed執行此操作的另一種方法是
sed -e 'i\
ab
a\
/ab' infile
如果您對awk
那么以下內容可以為您提供幫助。
awk -v start="ab" -v end="/ab" '{print start ORS $0 ORS end}' Input_file
如果您需要將輸出保存到Input_file本身,則也可以在上述代碼中附加> temp_file && mv temp_file Input_file
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.