gpt4 book ai didi

linux - 根据邮政编码打印名称

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:04:28 27 4
gpt4 key购买 nike

我得到了一个格式如下的文本文件:

29:Jan:Høiberg:Darres gate 22:0175:Oslo:69215348 

基于此,如果该文本文件中的邮政编码以 11、12 或 13 开头,我想打印名字和姓氏。
对 Linux 相当陌生,所以任何有关如何执行此操作的帮助都会很棒。
在终端中执行此操作。

最佳答案

有两种主要的“老式 UNIX”方法可以解决这个问题。一种是一体式 awk 方法,它功能强大且干净,但很少有人能熟练使用它。

另一种是 piping-together-text-utils 方法。

首先我们要过滤掉您感兴趣的行。我们可以将该输出通过管道传输到另一个命令以打印您想要的字段。

所以:

egrep '^([^:]*:){4}1[123]' file.txt

我使用 egrep 而不是 grep 因为它给我们 {4} 表示“重复 4 次”。那就是

  • ^ -- 行首
  • [^:]* -- 除':'之外的任何字符出现零次或多次
  • 后跟一个“:”
  • {4} -- 重复 4 次(注意 () 将要重复的部分分组)
  • 后跟 1
  • 后跟 123 -- [123]

在添加下一步之前对您的数据进行测试;提取你需要的部分。在您显示的评论中,您已经知道如何使用 cut:

egrep '^([^:]*:){4}1[123]' file.txt | cut -d: -f2,3

关于linux - 根据邮政编码打印名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46645373/

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