使用sed
是否有一種方法可以在字符後替換行上的所有模式?sed替換字符後的所有事件
所以,舉例來說,一個句號後更換以下劃線的每個空間將改變這一點:
k i c k . t h e . b a b y
到這一點:
k i c k ._t_h_e_._b_a_b_y
謝謝!
使用sed
是否有一種方法可以在字符後替換行上的所有模式?sed替換字符後的所有事件
所以,舉例來說,一個句號後更換以下劃線的每個空間將改變這一點:
k i c k . t h e . b a b y
到這一點:
k i c k ._t_h_e_._b_a_b_y
謝謝!
這可能會爲你工作(GNU SED):
sed -r ':a;s/(\.[^ ]*) /\1_/;ta' file
與_
的向前更換第一.
的空間或:
sed 's/\./&\n/;h;y/ /_/;H;g;s/\n.*\n//' file
使用保持空間進行分割和征服。
這是美麗的,布拉沃 –
有點長,我想不出一個更短的方式,但工作良好:
sed 'h ; s/[^.]*// ; s/ /_/g ; x ; s/\..*$// ; G ; s/\n//'
^^ the pattern to replace
或者與awk
:
awk -F. -vOFS=. '{a=$1 ; $1="" ; gsub(" ","_") ; print a $0}'
^^the pattern to replace
「寶貝」之間的點在哪裏?你的例子不夠清楚,無法說明你想要做什麼。 – HuStmpHrrr
對不起,錯字!再見一次 –
@NickBull在'.'之後的所有內容都應該有一個'_'的權利? –