在Linux中,有一个文件,10行9列,如何打印最后一列,如何打印最前一列?
在Linux中,打印文本文件的某一列可以使用awk
或cut
命令。这里分别演示如何打印一个10行9列文件的最后一列和最前一列:
1. 打印最后一列:
使用awk
命令:
awk '{print $NF}' filename.txt
这里的NF
是内部变量,表示当前行的字段数量,所以 $NF
就是最后一个字段,也就是最后一列。
使用cut
命令:
cut -d ' ' -f 9 filename.txt
这里假设每一列之间是以空格作为分隔符的(默认分隔符也是空格)。-d ' '
指定了分隔符为空格,-f 9
表示打印第9列,不过要注意的是,cut
命令中的列数是从1开始计数的,所以对于9列的文件,最后一列对应的数字是9。
2. 打印最前一列:
使用awk
命令:
awk '{print $1}' filename.txt
$1
表示第一列。
使用cut
命令:
cut -d ' ' -f 1 filename.txt
这里同样假设列间分隔符是空格,-f 1
表示打印文件的第一列。
3. 综上所述:
如果文件的列不是由空格分隔,需要根据实际情况更改-d
后面的分隔符参数。例如,如果是逗号分隔,那么分隔符应设为-d ','
。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步