将行从一个文件重定向到另一个文件的命令是什么

将行从一个文件重定向到另一个文件的命令是什么

我想在 Unix 中将包含“hello”的行从 file1 重定向到 file 2。这里使用的命令是什么?

答案1

您将需要该命令grep。 ( man grep)。

和文件重定向>。 ( man bash)

来自 grep 手册

.
.
.
SYNOPSIS
       grep [OPTION...] PATTERNS [FILE...]
.
.
.
       -F, --fixed-strings
              Interpret PATTERNS as fixed strings, not regular expressions.
.
.
.

我建议更全面地阅读本手册。

答案2

这是 grep 的教科书用法,以至于它作为动词被称为“grepping”,而不是被称为“重定向”。

fgrep hello file.txt > file2.txt

fgrepgrep是仅查找固定字符串的变体f(而不是匹配常用表达regrep)。标准的等效项是grep -F,尽管您会发现grep像 Solaris/bin/grep这样的古老实现尚不支持该-F选项。

答案3

我得到了答案

sed -i -e '/hello/{ w file2.txt' -e 'd;}'  file1.txt

动作匹配行进入file2.txt)

或者

grep "hello"  file1.txt  > file2.txt

副本匹配行进入file2.txt)

相关内容