在txt文件中搜索然后在新的txt文件中打印

在txt文件中搜索然后在新的txt文件中打印

我有一个txt文件,其中包含超过1000行,其中的数据如下:

alpha
hmld ahge 573
otndgd fhj 29
fidnt ank 1962

beta
jdkrs 2
adny 14
urmekhjf 6893
...

我如何搜索和打印(在新的txt文件中)包含诸如(dn)之类内容的任何行,结果如下:

fidnt ank 1962 alpha
adny 14 beta

我用 gedit 搜索,但它是 defecult。我的系统:ubuntu

此致

答案1

你可以这样做:

<input-file.txt awk '
     !NF {FNR=0; next}
  FNR==1 {header=$0; next}
    /dn/ {print $0, header}' > result.txt

每次发现空行时我们都会重置每FR记录编号,然后该行之后的第一行(当为 1 时)被视为NFNR标头,然后我们打印记录标头dn在输入中找到的任何位置。

答案2

基本 grep:

grep 'dn' input-file.txt > result.txt

相关内容