Q
取代多達n次比賽
2
A
回答
2
這可能爲你工作(GNU SED):
sed 's/foo/&\n/2;T;h;s//bar/g;G;s/\n.*\n//' file
本身和一個換行符替換預期字符串的第n個occurence。 如果替換失敗,則將模式空間(PS)複製到保持空間(HS)。 使用替換字符串進行替換,然後用改變的行重新構建原始行。
另外:
sed 's/foo/\n/g;s/\n/foo/3g;s/\n/bar/g' file
當第n +1使用1而不是到第n
0
最簡單的方法是什麼:
sed 's/foo/bar; s/foo/bar' a.txt
這將有效地使取代的foo
2個第一個分身。它每行有兩次通過,始終替換第一次出現。由於第二次通過第一次foo
已被替換,第二次通過將「原始」第二次出現視爲第一次。
0
延長Chirlo的答案...
replace_string=s/foo/bar
n=2
replace_string_n=`python -c 'print "'$replace_string';"*'$n`
sed $replace_string_n a.txt
相關問題
- 1. 正則表達式/ Python的:N - 比賽的出現先於其他比賽
- 2. 比賽多次只在單一的正則表達式
- 3. 正則表達式的多重比賽?
- 4. 取代第二場比賽跳過第一場比賽在C#
- 5. 賽後的多場比賽
- 6. sed--試圖在比賽後取代第一次出現
- 7. Perl的正則表達式零次或一次比賽
- 8. 正則表達式:比賽第N個字
- 9. 比賽比賽
- 10. 比賽和HTML取代STR屬性
- 11. Regex.IsMatch - 沒有達到比賽
- 12. 如何在第一次發生比賽時停止比賽?
- 13. 正則表達式排除比賽內的一場比賽
- 14. 正則表達式 - 如何在比賽中找到比賽?
- 15. 正則表達式 - 賽達在接下來各組比賽
- 16. Game Center Turn Based比賽。一場比賽內多種類型的比賽?
- 17. 獲得比賽的第一次出現在正則表達式
- 18. 找到比賽摘錄下n個字符,但排除比賽本身
- 19. 比賽1:很多Excel的
- 20. VLOOKUP困境多場比賽
- 21. 獲取蟒蛇fuzzywuzzy比賽
- 22. 比賽替代網址 - 正則表達式的Django網址
- 23. 比賽LAST_NAME,FIRST_NAME,代之以LAST_NAMEFIRST_NAME您好正則表達式
- 24. 如何停止首次比賽?
- 25. 比賽記錄水平按層次
- 26. 如何與sed第一次比賽?
- 27. 正則表達式 - 從比賽
- 28. 正則表達式這場比賽
- 29. 正則表達式,預浸比賽
- 30. 比賽中使用正則表達式