Sed 命令将模式保存到新文件

Sed 命令将模式保存到新文件

我有一个问题:编写一个 Linux sed 命令来保存与文件 datat.txt 的模式“数字”(大写或小写)匹配的行,并将结果(覆盖以前的内容)保存到:~/results.txt

我使用这个命令:

sed -n -i '/number/p' data.txt>~/results.txt

但是当我使用 more 命令查看 results.txt 文件时,它显示空文本文件。请让我知道我做错了吗?

答案1

你使用两个选项

  • -n:安静模式,无输出
  • -i: 就地编辑

所以你覆盖原始文件,只保留模式,并且不输出任何内容。

也许你打算?

sed -n '/number/Ip' data.txt > ~/results.txt
  • 没有-n标志,所有行都会被回显
  • I不区分大小写的标志

男人

-n,--安静,--沉默

抑制图案空间的自动打印

-i[后缀], --in-place[=后缀]

就地编辑文件(如果提供扩展名,则进行备份)。默认操作模式是断开符号链接和硬链接。这可以通过 --follow-symlinks 和 --copy 进行更改。

相关内容