2017-09-01 54 views

回答

4

使用sed:

sed 's/.*BlueCard.*/<!--&-->/' file 
+0

謝謝!究竟是我想要的 –

+0

有沒有一種方法來做泥漿;每個文件都要進行三次搜索?假設我也想用#號在RedCard上添加行,我可以一次完成嗎? –

+0

也許'sed's /.* \(Blue \ | Red \)Card。*/ /'file'? – potong

0

您也可以匹配模式,然後匹配所有行申請替代(s)。

sed '/BlueCard/ s/.*/<!--&-->/' test 
  • &這選擇由.*
0

嘗試在AWK過一次匹配的一切。

awk '/BlueCard/{print "<!--" $0 "-->";next} 1' Input_file 

因此,如果找到字符串BlueCard,然後用該行打印註釋,則使用next將不會跳過所有其他語句。使用1將打印除了BlueCard的行之外的所有內容,因爲它已經由條件本身處理。

解決方案2:在這裏使用awk的子工具。

awk '{sub(/BlueCard/,"<!--&-->")} 1' Input_file 

只需將字符串BlueCard替換爲註釋並打印所有內容即可。

相關問題