我需要移除「+ 0x10」部分,但數字可能會改變(更多數字),所以我不能總是從後面移除5個字符。基本輸入/輸出的一部分
something -- [email protected]+0x10
該模式始終是「plt +」,然後是十六進制數。我希望它看起來像這樣:
something -- [email protected]
只是沒有「+ 0x10」。我是bash初學者,所以請耐心等待。
我需要移除「+ 0x10」部分,但數字可能會改變(更多數字),所以我不能總是從後面移除5個字符。基本輸入/輸出的一部分
something -- [email protected]+0x10
該模式始終是「plt +」,然後是十六進制數。我希望它看起來像這樣:
something -- [email protected]
只是沒有「+ 0x10」。我是bash初學者,所以請耐心等待。
您可以使用:
s='something -- [email protected]+0x10'
sed 's/^\(.*\)+0x[0-9]*$/\1/' <<< "$s"
something -- [email protected]
參數替換可以這樣做:
$ my_var="[email protected]+0x10"
$ echo "${my_var%%+0*}"
[email protected]
你可以使用bash substring removal:
$ string="something -- [email protected]+0x10"
$ echo "${string%+*}"
something -- [email protected]
很大,這對我的作品,謝謝 – imre
高興要知道,您是否可以通過點擊我答案左上角的刻度線標記答案。 – anubhava