2016-08-11 50 views
0

我有一些文本文件在某些​​位置包含*****。我需要用9.999替換*****。這顯然來自某些格式錯誤,但我沒有創建我現在必須使用的文件的程序。我在csh使用下面的命令嘗試:sed重複運算符操作數無效*****

sed -i "" 's/*****/9.999/g' *.dat 

但是,如我所料,我得到了以下錯誤消息:

sed: 1: "s/*****/9.999/g": RE error: repetition-operator operand invalid 

我假設這是因爲*****被認爲是一種特殊的運算符或類似的東西,但我不知道如何在使用sed命令時免除它們。

有沒有人有提示可以幫助?

+0

YAY!謝謝!!!這工作! :) – BorgChick

+1

嘗試的第一步是閱讀手冊;如果這太耗時,請使用反斜槓作爲'escape'操作符(例如's \ \ * \ * * * * * * */9.999/g'),因爲它是......通用性太強,但非常強大常見的不是...非常常見的方法來逃避特殊字符,特別是對於源於Unix的早期程序,比如'sed'。 –

回答

2
sed -E 's/\*{5}/9.999/g' file 
相關問題