Linux

在txt文件中搜尋然後在新的txt文件中列印

  • August 15, 2022

我有包含超過 1000 行的 txt 文件,其中的數據如下:

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 搜尋,但它是無效的。我的系統:ubuntu

此致

您可以執行以下操作:

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

每次找到空行時我們都會重置FperileR記錄編號N,然後將其後的第一行(當FNR為 1 時)視為標頭,並且我們在輸入中找到該標頭的任何位置都列印該標頭後面的記錄。dn

基本的grep:

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

引用自:https://unix.stackexchange.com/questions/713676