Apakah mungkin untuk mengganti kemunculan urutan karakter secara rekursif tanpa mengulangi urutan yang sama lagi?
Dengan melakukan sed
seperti pada skenario berikut saya bisa mendapatkan output yang disebutkan.
$ echo XX | sed -e 's/XX/XoX/g'
XoX
$ echo XXX | sed -e 's/XX/XoX/g'
XoXX
$ echo XXXX | sed -e 's/XX/XoX/g'
XoXXoX
Namun, saya mengharapkan output mengikuti perilaku berikut.
Memasukkan:
XX
XXX
XXXX
Output yang diharapkan:
XoX
XoXoX
XoXoXoX
Apakah mungkin untuk mencapai perilaku yang diharapkan dengan sed saja?
X
dan tidak ada yang lain. Kedua solusi gagal jika ada karakter lain yang hadir ...X
oleh.
. Silakan lihat edit.Saya memeriksa apakah ada semacam bendera untuk mewujudkannya.
Bahkan jika perilaku itu ada di sana, itu akan memakan banyak sumber daya.
Namun, dalam kasus penggunaan khusus ini, dimungkinkan untuk memiliki ekspresi hanya dua kali dan mencapai fungsionalitas yang diperlukan. yaitu dengan 2
sed
ekspresi berulang .sumber