Regex 如何删除以开头的所有行$

Regex 如何删除以开头的所有行$,regex,shell,grep,Regex,Shell,Grep,我有一个文件,我想删除其中以$开头的所有行 Sample.txt $ This is a test $ All the lines starting with $ must be deleted Data1 Data2 Data3 我使用了grep命令,但由于某种原因它不起作用 grep -v '^$' Sample.txt > Output.txt 所需输出如下所示 Output.txt Data1 Data2 Data3 你需要避开美元符号。在双引号内,$被解释为变量名的开头。在

我有一个文件,我想删除其中以
$
开头的所有行

Sample.txt

$ This is a test
$ All the lines starting with $ must be deleted
Data1
Data2
Data3
我使用了
grep
命令,但由于某种原因它不起作用

grep -v '^$' Sample.txt > Output.txt
所需输出如下所示

Output.txt

Data1
Data2
Data3

你需要避开美元符号。在双引号内,
$
被解释为变量名的开头。在单引号中,
$
是正则表达式中表示行尾的特殊字符。因此,请改为:

grep -v '^\$' Sample.txt > Output.txt

也请检查一下。

用“\”转义“$”@Cyrus你的意思是“^\$”?为什么$需要转义字符?请参阅:
sed'/^\$/d'file>newfile