亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 請教文本替換的問題,謝謝! [打印本頁]

作者: net_lin    時間: 2009-03-07 16:33
標題: 請教文本替換的問題,謝謝!
又得請教shell版的高手們,有如下的文本:
First timestamp           = 2009-03-05 15:45:59062189
Last reset timestamp                       = 2009-03-07 16:19:50780360
如何將文本中=號前的內(nèi)容中的空格替換成空,而=號后的空格不做替換,注:=號前后的空格個數(shù)不確定,謝謝!
作者: kvkingdom    時間: 2009-03-07 16:48
sed 's/ *=/ =/'  input-file
作者: rhlei    時間: 2009-03-07 16:51
[root@localhost qes]# sed -r 's/(\w*)\s*=/\1=/g' data
First timestamp= 2009-03-05 15:45:59062189
Last reset timestamp= 2009-03-07 16:19:50780360

不知道是不是你要的結(jié)果。
作者: net_lin    時間: 2009-03-07 16:56
不是的,=號前所有內(nèi)容里的空格都要替換成空,包括單詞中間的空格,也就是變成
Firsttimestamp= 2009-03-05 15:45:59062189
Lastresettimestamp= 2009-03-07 16:19:50780360
作者: tam509    時間: 2009-03-07 16:58
學(xué)習(xí)下
作者: merlin852    時間: 2009-03-07 17:08
awk  'BEGIN{FS=OFS="="}{$1=gensub(" ","","g",$1);print}'
作者: kvkingdom    時間: 2009-03-07 17:13
awk -F"=" '{gsub(" ","",$1);print $1 "="$2}' test
作者: net_lin    時間: 2009-03-07 17:13
to merlin852 ,謝謝,不過gensub函數(shù)在我的awk版本中沒有
作者: welcome008    時間: 2009-03-07 17:17
看你這種格式,換個辦法興許也可以:

tr -d " " filename|awk -F\= {print $1"= "substr($2,1,10)" "substr($2,11)}'
作者: fhmdgxs    時間: 2009-03-07 17:24
cat ufile|sed 's/=/=\n/'|sed '/=/s/ //g'|sed -n 'N;s/\n//;p'
作者: ywlscpl    時間: 2009-03-07 17:24
awk '{print gensub(/[ \t]+=/,"=",1)}' file
作者: ywlscpl    時間: 2009-03-07 17:26
LZ的awk中g(shù)sub或sub有嗎
awk '{gsub(/[ \t]+=/,"=")}1' file
awk '{sub(/[ \t]+=/,"=")}1' file
作者: blackold    時間: 2009-03-07 17:48
標題: 回復(fù) #1 net_lin 的帖子
try:
  1. sed 'h;s/=.*//;s/ //g;G;s/\n.*=/=/' urfile
復(fù)制代碼

作者: oldoger    時間: 2009-03-07 17:52
[test@ ~ ]$ sed -r 's/([a-z])\s*/\1/g' 1
Firsttimestamp= 2009-03-05 15:45:59062189
Lastresettimestamp= 2009-03-07 16:19:50780360
作者: wtuter    時間: 2009-03-07 23:02
標題: 回復(fù) #1 net_lin 的帖子
awk -F'='  '{gsub(/ */,"",$1)print $1"="$2}'  ufile


沒有測試,不行的話在  print前加個分號
作者: cooljean2008    時間: 2009-03-08 16:14
awk F"=" '{gsub(" ","",$1);print}' file
作者: ywlscpl    時間: 2009-03-08 16:17
標題: 回復(fù) #16 cooljean2008 的帖子
awk -F"=" '{gsub(" ","",$1);print}' file

替你加個-,你把$1所有空格都變沒了
作者: cooljean2008    時間: 2009-03-08 16:24
謝謝,漏掉了。
小處不能隨便
作者: ywlscpl    時間: 2009-03-08 16:35
暈,看了4樓才知道樓主是要把=前所有空格都去了,原以為單詞間的空格不去
改下答案
awk 'BEGIN{OFS=FS="="}{gsub(" ","",$1)}1' file
作者: cjaizss    時間: 2009-03-08 20:16

  1. sed -rn ':a s/[ \t]+(.*=)/\1/;ta;p'
復(fù)制代碼

作者: oldoger    時間: 2009-03-08 20:28
原帖由 wtuter 于 2009-3-7 23:02 發(fā)表
awk -F'='  '{gsub(/ */,"",$1)print $1"="$2}'  ufile


沒有測試,不行的話在  print前加個分號

awk -F'='  '{gsub(/ */,"",$1);print $1"="$2}'  ufile
少加了一個分號,幫你測試了,是可以的。
作者: oldoger    時間: 2009-03-08 20:41
原帖由 blackold 于 2009-3-7 17:48 發(fā)表
try:sed 'h;s/=.*//;s/ //g;G;s/\n.*=/=/' urfile

黑哥的這個比較高深。
作者: 樹上開花    時間: 2009-03-08 22:09
有那位大哥可以講一下sed里-r是什么意思?
作者: 我是DBA    時間: 2009-03-08 22:11
標題: 回復(fù) #23 樹上開花 的帖子
正則擴展
  -r, --regexp-extended
                 use extended regular expressions in the script.
作者: net_lin    時間: 2009-03-09 18:19
感謝大家的幫助,最好的答案是黑哥的方法,不過不大理解,正在學(xué)習(xí)中,能否解釋一下,謝謝!
sed 'h;s/=.*//;s/ //g;G;s/\n.*=/=/' urfile
作者: haimming    時間: 2009-03-09 19:09
sed 'h;s/=.*//;s/ //g;G;s/\n.*=/=/' urfile
一步一步就好理解了
h : 把pattern space(理解成當(dāng)前行吧)的放個備份進hold space(理解成暫存空間吧);
s/=.*// :pattern space把等于及其后的部分去掉;
s/ //g :把全部空格去掉;
G :把剛才放在hold space里的備份拿出來,放在剛才處理了的字符的下一行
s/\n.*=/=/ :把換行符及下一行等號之間的字符給刪了
作者: dream3401    時間: 2009-03-09 20:02
原帖由 cjaizss 于 2009-3-8 20:16 發(fā)表

sed -rn ':a s/[ \t]+(.*=)/\1/;ta;p'

這個不是更好么?字符都打的少
作者: oldoger    時間: 2009-03-09 20:16
sed -r 's/([a-z])\s*/\1/g'
這個字符不是更少?
作者: haimming    時間: 2009-03-09 20:29
標題: 回復(fù) #28 oldoger 的帖子
試試"aa  bb   11  =d"

sed -rn ':a s/[ \t]+(.*=)/\1/;ta;p' 效率應(yīng)該弱點
作者: wangduo112    時間: 2009-03-09 20:29
原帖由 rhlei 于 2009-3-7 16:51 發(fā)表
[root@localhost qes]# sed -r 's/(\w*)\s*=/\1=/g' data
First timestamp= 2009-03-05 15:45:59062189
Last reset timestamp= 2009-03-07 16:19:50780360

不知道是不是你要的結(jié)果。


學(xué)習(xí)了。謝謝,想不到sed可以如此支持正則表達式。
作者: oldoger    時間: 2009-03-09 21:12
標題: 回復(fù) #30 wangduo112 的帖子
這話說得,無語
作者: blackold    時間: 2009-03-09 22:34
標題: 回復(fù) #20 cjaizss 的帖子
另一種思路,學(xué)習(xí)!
作者: david2878    時間: 2009-03-10 15:40
學(xué)習(xí)中
作者: sunbw001    時間: 2009-03-11 21:06
awk -F '' 'BEGIN{OFS=""}{for(i=1;i<=NF;i++){if($i~" "){$i=""};if($i~"="){break}}print $0}'  file
作者: xixi_lala123    時間: 2009-03-16 13:40
Are you aware of why you always lack of  wow gold? You don't have enough time to do the  wow power leveling for your wow account? I see. I see, all of us can understand the  world of warcraft gold is the hot topic in our mmogames realm. And how the get the cheap wow gold, there are so many WoW Gold tips to help how to do WoW Power Leveling. and there also have some online shop like gamevive(http://www.gamevive.com) sell the wow gold, Darkfall gold, Darkfall gold, and warhammer gold. and they also have Darkfall cd key, Darkfall cd key, Darkfall power leveling, Darkfall power leveling and warhammer power leveling service.
By the way, do you like to buy jordan shoes online? i think the answer is if you are nike shoes and basketball shoes collection fan. Then what about tiffany? I think ladies should know that hua!
作者: isunmoon    時間: 2009-03-16 16:55
原帖由 fhmdgxs 于 2009-3-7 17:24 發(fā)表
cat ufile|sed 's/=/=\n/'|sed '/=/s/ //g'|sed -n 'N;s/\n//;p'


能請問一下sed中的N是什么意思么??




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2