从一个文件复制包含word的行到linux中的另一个文件

mkr*_*ddy 5 linux awk grep sed

我想复制含有某些字线file1file2.

假设file1:

ram 100 ct 50
gopal 200 bc 40
ravi 50 ct 40
krishna 200 ct 100
Run Code Online (Sandbox Code Playgroud)

file2 应该只有包含"ct"的行,如下所示:

ram 100 ct 50
ravi 50 ct 40
krishna 200 ct 100
Run Code Online (Sandbox Code Playgroud)

这是实现这一目标的最佳方式?我有一个200mb的文件.我用过,grep但没有得到任何结果grep -n ct file1.

Jot*_*tne 11

awk应该做

awk '/ct/' file1 > file2
Run Code Online (Sandbox Code Playgroud)

如果位置很重要

awk '$3=="ct"' file1 > file2
awk '$3~/ct/' file1 > file2
Run Code Online (Sandbox Code Playgroud)

最后一个版本是好的,如果ct是#3领域的一部分


与...相同 grep

grep ct file1 > file2
Run Code Online (Sandbox Code Playgroud)

-n 不需要,因为它打印行号


与...相同 sed

sed -n '/ct/p' file1 > file2
Run Code Online (Sandbox Code Playgroud)