如何使用Batch脚本提取TXT文件每行的最后一个值
提取每行最后一个数值的几种实用方法
针对你这个需求,下面是几个简单直接的实现方式:
使用awk(跨平台推荐)
awk天生擅长处理文本字段,一行命令就能搞定:awk '{print $NF}' ids.txt注:
$NF是awk的内置变量,代表当前行的最后一个字段,不管前面有多少列都能准确提取目标数值。使用sed
通过正则匹配替换,保留每行最后的数字部分:sed 's/.* \([0-9]\+\)$/\1/' ids.txt原理:
.*匹配从行首到最后一个空格的所有内容,\([0-9]\+\)捕获后面的连续数字,最终替换成捕获到的数字部分。使用cut(适合列数固定的场景)
要是确定每行都是3列,可先压缩连续空格再提取第3列:tr -s ' ' < ids.txt | cut -d' ' -f3先用
tr -s ' '把多个连续空格转换成单个,再用cut按空格分割取第3列。PowerShell(Windows环境适用)
Windows用户可以用PowerShell处理:Get-Content ids.txt | ForEach-Object { ($_ -split '\s+')[-1] }把每行按任意空白字符分割成数组,直接取数组的最后一个元素。
内容的提问来源于stack exchange,提问作者TullyYT
相关产品推荐
相关产品推荐

