gpt4 book ai didi

bash - cat 文件 - 如果存在 "words"打印 "words"以上的行

转载 作者:行者123 更新时间:2023-11-29 09:39:37 25 4
gpt4 key购买 nike

我有一些文本文件,例如,

######## cat file.txt
aaaa

bbbb

cccc

dddd
From CN Country

eeee

ffff
From UK Country

gggg

............

现在,如果在文件中出现单词“Country”,则只打印该单词上方的行,例如,

####### some magic command print
dddd
ffff

我想我可以用它:

  • awk – like: awk '/Country/{found=0} {if(found) print}//{found=1}' file.txt – 无济于事,众所周知对我来说,这个选项的组合:/
  • sed – 类似:sed -n '1,/Country/p' file.txt – 同上

谁能帮帮我? :)

最佳答案

使用awk:

awk '/Country/ {print previous}; {previous=$0}' file.txt

示例:

$ cat file.txt
aaaa

bbbb

cccc

dddd
From CN Country

eeee

ffff
From UK Country

gggg

$ awk '/Country/ {print previous}; {previous=$0}' file.txt
dddd
ffff

关于bash - cat 文件 - 如果存在 "words"打印 "words"以上的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39440136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com