的兩端T或C因此,例如,如果輸入是:-------A--GG---CCAAT---A------
輸出應爲:.......A--GG---CCAAT---A......
我寧願爲此在AWK。替換 - 的所有實例。直到A或G或從一個字符串
1
A
回答
1
這將是一個有點複雜,因爲awk
不允許調用與所匹配的字符串的函數,所以你需要手動取出匹配的字符串(l
和r
),進一步對其進行處理,並更換$0
與原來的字符串加上匹配的字符串:
awk '{
if (match($0, /^-*/)) { l = substr($0, 1, RLENGTH); gsub("-", ".", l); $0 = l substr($0, RLENGTH + 1); }
if (match($0, /-*$/)) { r = substr($0, RSTART); gsub("-", ".", r); $0 = substr($0, 1, RSTART - 1) r; }
print $0;
}'
或使用gsub
再次變異,而不將在$0
匹配的字符串:
awk '{
if (match($0, /^-*/)) { l = substr($0, 1, RLENGTH); gsub("-", ".", l); gsub(/^-*/, l, $0); }
if (match($0, /-*$/)) { r = substr($0, RSTART); gsub("-", ".", r); gsub(/-*$/, r, $0); }
print $0;
}'
+0
非常感謝。訣竅是使用我不知道存在的內置變量。 – 5heikki
+0
的確,我剛剛在'awk'手冊中瞭解了這些變量。我在看'match()',但是它不返回匹配的字符串。所以我試圖用'RSTART'和'RLENGTH'來重構它。 –
相關問題
- 1. 替換字符串的所有實例的字符串的Python
- 2. 替換字符串中的所有字符實例
- 3. 替換一個字符串直到幷包括OS X中的另一個字符串的第一個實例
- 4. 將一個字符串的第一個實例替換爲一個變量或其他唯一字符串
- 5. 如何從原始的字符串替換字符的所有非實例創建一個新的字符串
- 6. 除了「g」,如何用一個「」替換字符串中的所有字符?
- 7. 替換字符串中一個字符的多個實例
- 8. 如何從javascript中的字符串替換(/「或')到(」或')
- 9. PHP字符串查找和替換,直到最後一個實例
- 10. 如何替換字符串中的子字符串的所有實例
- 11. 替換數據庫中的所有字符串實例?
- 12. 動態替換字符串中標記的所有實例
- 13. 替換字符串中的所有YouTube/Vimeo iframe實例
- 14. 用****替換XML中的所有字符串實例
- 15. 替換typescript中字符串的所有實例?
- 16. grep和sed - 替換字符串的所有實例
- 17. PHP - 如何替換字符串中所有單詞的實例
- 18. 替換字符串開始處以外的所有子字符串實例
- 19. Sed替換所有字符,直到第一個空格
- 20. 替換多個元素中的字符的所有實例
- 21. 用NULL替換字符串的實例
- 22. jQuery替換節點中字符的所有實例 - 工作到一個點
- 23. 替換字符串中特定字符後的一個字符的所有實例
- 24. 從一個陣列替換字符到另一個字符串
- 25. 用另一個詞或句子替換字符串中的字
- 26. Linux:如何用單一類型的所有文件中的另一個替換字符串的所有實例
- 27. TSQL用空字符串替換所有非a-z/A-Z字符
- 28. 如何在Perl中替換字符串中的一個或多個字符串
- 29. 如何從字符串中替換所有單個字符?
- 30. 試圖只替換Php中的字符串的第一個實例,而不是所有的替換
你已經嘗試過一些東西嗎?你有一些我們可以從頭開始的例子嗎?你至少應該表明你已經做了一些搜索,否則就容易讓其他人爲你編寫代碼:-) – ndsmyter
我試圖使用^和$和通配符與gsub的各種組合,但它並沒有導致在任何地方,本質上來自:awk'{gsub(/ - /,「。」);打印}'。如果有人向我展示如何從一端做到這一點,那就好了,所以我可以做到這一點,然後再做一遍。 – 5heikki