【问题标题】:Extract a line from a file using cut without without including other lines使用 cut 从文件中提取一行而不包括其他行
【发布时间】:2020-11-26 08:42:14
【问题描述】:

我正在尝试编写一个从文件中提取一行的命令。我要提取的行是分隔线,我正在选择第二个字段。

这是我能想到的命令:cut -d':' -f2 file.txt

这是上下文文件:

Hello world

Name:Age:DOB:Gender

在这种情况下,我试图提取第二个字段并将其显示到屏幕上,而不显示 Hello world 行。

这是当前的输出:

Hello world #This should not be here

Age

疑难解答:我曾考虑使用grep,但我尝试在各个字段中可能包含比Age 更复杂的字符串的文件上运行此命令。

【问题讨论】:

  • cut 不提取,它从每一行中提取....
  • awk -F: 'NR > 1 { print $2 }' yourfile,也许吧。
  • 您总是想从第 3 行开始,还是只打印到包含分隔符的行?
  • grep 出了什么问题,您在寻找 grep 无法处理的复杂字符串吗? grep '年龄' |剪切 -d':' -f2
  • 我只想从有分隔符的行中打印字段

标签: linux bash shell unix


【解决方案1】:

要仅打印包含分隔符的行,请使用-s / --only-delimited 开关:

cut -s -d':' -f2 file.txt

请参阅cut man page

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 2013-03-29
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多