2013-03-04 62 views
-2

對不起一個更快速的問題關於前一個 - 我想在高峯期數量和範圍之間的下劃線添加。我收到了來自vim的奇怪結果。修改/操縱使用vim文本,awk或者sed(再次)

MACS_peak_1範圍= CHR1:569425-569625 5'pad = 0 3'pad = 0鏈= + repeatMasking =無 TTCGCTCTAAGATTAAAAATGCCCTAGCCCACTTCTTACCACAAGGCACA CCTACACCCCTTATCCCTATACTAGTTATTATCGAAACCATCAGCCTACT

MACS_peak_1_range = CHR1 :569425-569625 5'pad = 0 3'pad = 0鏈= + repeatMasking =無 TTCGCTCTAAGATTAAAAATGCCCTAGCCCACTTCTTACCACAAGGCACA CCTACACCCCTTAT CCCTATACTAGTTATTATCGAAACCATCAGCCTACT

謝謝 哈里特

+1

我懷疑很多人知道你剛纔的問題是,你的預期產出似乎是相同的您的示例輸入。如果不是,那麼提出一些可以更清楚地突出顯示實際問題的示例輸入如何?我懷疑它的輸入必須是100個字符或者你發佈的任何內容來證明你的問題。 – 2013-03-04 11:29:04

+0

Vim: :%s/\(\ d \)range/\ 1_range/ – solarc 2013-03-04 11:29:15

+0

[使用sed,awk或vim修改/操作文本]的可能重複(http://stackoverflow.com/questions/15199399/modifying-操縱文本使用sed-awk-vim) – Kent 2013-03-04 11:32:45

回答

1
awk '/MACS_peak/{$1=$1"_"$2;$2="";}1' your_file 
0

試試這個在shell:

sed -i s/"MACS_peak_1 range"/"MACS_peak_1_range"/g <filename> 
+0

放下'g'標誌將會簡單得多。事實上,你可能會逃避'sed's// _ /''。 – 2013-03-04 11:48:24

+0

'sed's// _ /''將會替換所有的空格。我想確保只有所需的空間被替換。如果只有一個發生,它沒有'g'標誌,它工作正常。 – niculare 2013-03-04 11:50:48

+0

編號'sed's// _ /''只會替換第一個空格。 'sed's// _/g''將會替換所有空格。 – 2013-03-04 11:53:16