Bash
如何從字元串前面“刪除”/刪除字元?
我有一個我想操作的字元串。該字元串是
H08W2345678
我如何能夠操縱它,所以輸出只是W2345678
?同樣,如果我想刪除最後 4 個字元
H08W2345678
以便我知道H08W234
該怎麼做?
只需使用 bash (或
ksh93
該語法來自的地方 orzsh
):string="H08W2345678" echo "${string:3}" W2345678 echo "${string:0:-4}" H08W234
有關字元串操作的更多資訊,請參閱 Wooledge wiki 。
$ echo "H08W2345678" | sed 's/^.\{3\}//' W2345678
sed 's/^.\{3\}//'
將找到前三個字元^.\{3\}
並替換為空白。這裡^.
將匹配字元串開頭的任何字元(^
表示字元串的開頭),\{3\}
並將匹配前一個模式精確 3 次。因此,^.\{3\}
將匹配前三個字元。$ echo "H08W2345678" | sed 's/.\{4\}$//' H08W234
同樣,
sed 's/.\{4\}$//'
將最後四個字元替換為空白($
表示字元串的結尾)。