2011-07-28 30 views
2

我已經搜查了許多正則表達式的問題在這裏的錯誤都沒有發現一個可以去除的四個字母串...regexp刪除一個字符串?

我通過文件名來一個bash腳本,我想刪除前五個字符從名字,例如

myscript.sh AB2CDrestoffilename 

包含

FILENAME=$1 
OUTPUTFILENAME="out$FILENAME" 

除了我想爲OUTPUTFILENAME是outrestoffilename,而不是outAB2CDrestoffilename

我已經嘗試了很多不同的例子,但不能得到這個相對簡單的工作。

+0

具有u試過'預浸料。替換' – diEcho

+0

@diEcho不,什麼是'preg.replace'? – David

回答

3

在bash中,你使用參數擴展:

A="Helloworld"; echo ${A:5} 

在你的情況,說OUTPUTFILENAME="out${FILENAME:5}"

沒有必要爲最輕微的挑釁而爲正則表達式感到沮喪和哭泣 - Bash有足夠的力量!

3

你不需要爲這個正則表達式,你可以使用bash子:

OUTPUTFILENAME="out${FILENAME:5}" 
1

無需正則表達式,

$ string=AB2CDrestoffilename 
$ echo ${string:5} 
restoffilename 

this link