sed Mac终端删除以一个单词开头但不以另一个单词结尾的行

尼丁乌帕德耶

我有以下带有文本的txt文件(文件Test.txt的名称)

THE Lord is djncjdnjfn one almighty

THE Lord is dcdcdc great

THE Lord is dcdcdc one

THE Lord is cdcdcdc most powerful

THE Lord has cdcdcdc many faces

THE Lord is cdcdc above all

我想删除所有以 THE Lord 开头但不以一行结尾的行,所以输出将是

THE Lord is dcdcdc one

我正在使用终端,我正在使用以下命令

sed -i "" '/^THE Lord*one$/!d' Test.txt

这对我不起作用此外,如果我想删除所有以 THE Lord 开头的行,我有一些观察

sed -i "" '/^THE Lord/d' Test.sh 不管用

相反sed -i "" '/THE Lord/d正在工作

类似地,如果我想删除以 1 结尾的行

sed -i "" '/one$/d' Test.sh 不管用

相反sed -i "" '/one/d'正在工作

我无法使用$ ^锚点

三人组

sed是一种脚本语言。通过分支支持简单的 if/then 逻辑。b命令跳到脚本的末尾并导致sed放弃对当前行的进一步处理。

sed -e '/^THE Lord/!b' -e '/one$/!d' file

!否定运算符说,如果以前的状态是假的运行命令。

添加-i ""将更改写回文件选项,而不是在标准输出上显示结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

awk / sed / grep删除与另一个文件中的字段匹配的行

“ sed”命令删除与第一个单词完全匹配的行

如何使用gnu sed替换一个单词以外的所有单词?

删除文件中每一行的前缀,并使用sed输出到另一个文件

使用sed删除行,如果包含1个模式但不包含另一个模式,则使用下面的一个

替换特定行sed中的最后一个单词

找到一个单词的第一个出现,然后使用sed命令编辑它旁边的行

sed-更改以一个给定单词开头并以另一个给定单词结尾的行?

sed切换第一个和最后一个单词的顺序

正则表达式和Sed / Perl:匹配在ISN之前没有另一个单词的单词

使用sed或awk命令将一个单词替换为存储在变量中的另一个单词

使用sed查找一个单词并替换另一个单词

sed替换另一个文件内容中的单词

sed / awk:删除所有与一个单词匹配的行,而不跟一个单词

sed删除多于一个单词的行,不包括搜索词

Sed:修改文本中每个单词的每个非第一个单词重复

sed编辑标题与另一个文件的内容

如何使用sed将具有3个单词的一行中的第一个单词加倍?

如何使用sed将一行中的第一个单词与最后一个单词进行比较?

使用awk,sed,grep在新行中的一个租船上打印多个单词

sed将上一行的第一个单词添加到下一行的开头,如果

使用sed在定界符之前删除一个单词

sed:如何匹配以单词开头但不以另一个单词结尾的行

要插入另一个文件的 sed 结果

如何使用 sed 将以“/”开头的单词的每一行中的最后一个实例大写?

如何从列表中删除以另一个列表中的一个字母开头的单词?

Bash sed 查找最后一个单词包含字母的行

使用 grep 或 sed 只保留另一个单词列表文件中的单词

使用 sed 查找一个单词并在匹配单词的末尾附加一个后缀