2016-03-30 6 views
0

linuxで文字列を短くしようとしていますが、sedを使用してlinuxで拡張子を保持しようとしていますが、" sed:-e expression #1、CHAR 21: `s'が15400_AP705_OUT_03112016_0513_001.DAT」私が取るの文字列があるsed:-e式#1、char 21: `s 'に未知のオプション

『』と私が探しています出力に未知のオプションは、私が使用しているコマンドは

ある15400_AP705.DAT

です

echo 15400_AP705_OUT_03112016_0513_001.DAT | sed -r "s//(.{11}).*(\..*)$/$1$2/" 

よろしくお願いします。 Srinath

答えて

1

sedコマンドにスラッシュが1つ多くある場合は、シェルの置換を避けるために一重引用符(二重引用符ではない)を使用し、逆参照には\Nを使用してください。ない$1しかし\1):sedから-rオプションはすべてのプラットフォームでサポートされていないこと

echo 15400_AP705_OUT_03112016_0513_001.DAT | sed -r 's/(.{11}).*(\..*)$/\1\2/' 

注意。 Mac OSXシステムでは代わりに-Eを使用してください。

+0

Guidoさん、ありがとうございました。これはうまくいきました... –