工作可正常工作:不能獲得分組與SED
輸入文件src.txt:
ffmpeg -i uno.3gp
ffmpeg -i dos.3gp
ffmpeg -i tres.3gp
命令:
sed 's/-i .*\./XXX/' <src.txt
結果正如預期的那樣:
ffmpeg XXX3gp
ffmpeg XXX3gp
ffmpeg XXX3gp
那麼爲什麼不按預期工作:
COMMAND:
sed 's/-i (.*)\./XXX/' <src.txt
EXPECTED:
ffmpeg XXX3gp
ffmpeg XXX3gp
ffmpeg XXX3gp
實際結果:
ffmpeg -i uno.3gp
ffmpeg -i dos.3gp
ffmpeg -i tres.3gp
COMMAND:
sed 's/-i (.*)\.3gp/\1.mp3/' <src.txt
預期:
ffmpeg uno.mp3
ffmpeg dos.mp3
ffmpeg tres.mp3
實際效果
sed: -e expression #1, char 18: invalid reference \1 on `s' command's RHS
括號似乎並沒有進行分組工作的,但是我發現周圍的教程和例子似乎認爲他們應該...
太好了。我以爲我曾經嘗試過斜槓,但是那時候我並沒有使用頂點「,所以我必須用更多的斜槓來逃避所有事情,而且我沒有把握好。謝謝 – matteo 2012-08-11 10:04:56