如何使用 sed 命令删除包含星号的行

Jal*_*alT 5 command-line bash sed text-processing

我有一个包含以下几行的文件。

**;**;**;
*(Eng_Sen:This is an apple)*;*(WordID:1 2 3 4)*;*(message:)*;
**;**;**
Run Code Online (Sandbox Code Playgroud)

我想使用 Sed 命令删除包含以下模式的所有行。

**;**;**;
**;**;**
Run Code Online (Sandbox Code Playgroud)

请帮我。谢谢。

kos*_*kos 2

sed '/\*\*;\*\*;\*\*;\?/d' file
Run Code Online (Sandbox Code Playgroud)
  • \*\*;\*\*;\*\*;\?:匹配一个**;**;**字符串(可选后跟一个;字符);
  • d: 删除该行。

要就地编辑文件:

sed -i '/\*\*;\*\*;\*\*;\?/d' file
Run Code Online (Sandbox Code Playgroud)
% cat file                                          :(
**;**;**;
*(Eng_Sen:This is an apple)*;*(WordID:1 2 3 4)*;*(message:)*;
**;**;**
% sed '/\*\*;\*\*;\*\*;\?/d' file
*(Eng_Sen:This is an apple)*;*(WordID:1 2 3 4)*;*(message:)*;
% 
Run Code Online (Sandbox Code Playgroud)