![]() 請教各位如何替換多個空格為一個字符,如一個文件中間隔符有是一個空格,有的地方是多個空格,想全部用“|”替換,如何處理,請指教 |
![]() [code]sed '/ \+/s//|/g'[/code] |
![]() 來個awk的。 awk '{for (i=1;i<nf;i++) printf="" $i"|";printf="" "\n"}'="" file<="" td=""> |
![]() 可以講講 sed '/ \+/s//|/g' 的執行過程嗎? 我知道 “/ \+/” 是先查詢定位一下,可 “s//|/g”s指令被替換部分為空看不懂。 與 sed 's/ \+/|/g' 的執行效果是一樣的,執行過程有什么不同嗎? |
![]() 看精華中的sed1line |
![]() --> 這個不是很清楚,據說比sed 's/ \+/|/g'要快 被替換部分為空,表示其正則和前面的一樣。 |
![]() 這樣不就可以了嗎~! sed 's/ /|/g' filename |
![]() / \+/ 是空格匹配一次或多次吧 |