在文本文件中,我在一列中有一系列数字,前面有一个短字符串。它是“NAME”下示例文件中的第 5 列:
SESSION NAME: session
SAMPLE RATE: 48000.000000
BIT DEPTH: 16-bit
SESSION START TIMECODE: 00:00:00:00.00
TIMECODE FORMAT: 24 Frame
# OF AUDIO TRACKS: 2
# OF AUDIO CLIPS: 2
# OF AUDIO FILES: 2
M A R K E R S L I S T I N G
# LOCATION TIME REFERENCE UNITS NAME COMMENTS
2 0:00.500 24000 Samples xxxx0001
3 0:03.541 170000 Samples xxxx0002
4 0:05.863 281458 Samples xxxx0003
5 0:08.925 428430 Samples xxxx0004
6 0:10.604 509025 Samples xxxx0005
7 0:13.973 670742 Samples xxxx0006
8 0:15.592 748453 Samples xxxx0008
9 0:19.243 923666 Samples xxxx0008
在上面的示例中,缺少 0007,而重复了 0008。
因此,我希望能够检查数字是否为:
- 给定列中当前存在的范围。
- 如果有任何重复
我还想输出这些结果:
SKIPPED:
xxxx0007
DUPLICATES:
xxxx0008
我所能得到的最远的是用来awk获取我需要的列:
cat <file.txt> | awk '{ print $5 }'
这让我明白了这一点:
NAME
xxxx0001
xxxx0002
xxxx0003
xxxx0004
xxxx0005
xxxx0006
xxxx0008
xxxx0008
但我不知道从这里去哪里。
我是否需要遍历列表项并进行解析,以便仅获取数字,然后开始与下一行进行一些比较?
任何帮助将不胜感激谢谢!