如何在C#中提取复杂文本文件里Rank列的数值?
提取Rank列数值的实现方法
这里有几种简单的命令行工具实现方式,适合处理这类结构化文本:
方法1:使用awk(推荐)
awk 擅长按列处理文本,直接指定列号即可提取:
awk 'NR>2 {print $6}' your_file.txt
NR>2:跳过前两行(表头和分隔线)$6:Rank 列是第6列,直接打印该列内容
方法2:使用cut + tr
如果文本里的空格数量不固定,先压缩空格再用cut提取:
tail -n +3 your_file.txt | tr -s ' ' | cut -d' ' -f6
tail -n +3:从第3行开始读取数据行tr -s ' ':把多个连续空格压缩成单个空格cut -d' ' -f6:按空格分隔,提取第6列
方法3:使用sed
通过正则匹配提取Rank列的数字:
sed -n '3,$s/.* \([0-9]*\) .*/\1/p' your_file.txt
-n:只输出匹配处理后的内容3,$:处理第3行到最后一行- 正则表达式匹配Rank列的数字组,替换后仅保留数字并打印
内容的提问来源于stack exchange,提问作者Inferno
相关产品推荐
相关产品推荐

