awk如何取最后一列

想查到某个目录下全部以sd_sensor_xxxx.log等文件中,末了一个序号文件的序号。

 delphi脚本网

也就是,要把xxxx掏出来。

解决办法:

1. 起首要取到全部sd_sensor_xxxx.log文件中的末了一行文件,该文件代表了最大的序号;

ls -l sd_*.log | sed -n '$p'

当前目录有如下文件:

[root@Real6410 sdcard]# ls
hello               sd_sensor_0000.log  sd_sensor_0002.log  test.txt


使用命令之后:

[root@Real6410 sdcard]# ls -l sd*.log | sed -n '$p'                   
-rwxrwxrwx    1 root     root            0 Dec  6 01:29 sd_sensor_0002.log


2. 使用awk取到上述显示内容的末了一列不需要具体数sd_sensor_0002.log排在第几列。命令:

[root@Real6410 sdcard]# ls -l sd*.log | sed -n '$p'| awk '{print $NF}'
sd_sensor_0002.log


3. 再次使用awk加切分符号将0002分离出来。命令:

ls -l sd*.log | sed -n '$p'| awk '{print $NF}' | awk -F '.' '{print $1}' | awk -F '_' '{print $NF}'

使用命令结果:

[root@Real6410 sdcard]# ls -l sd*.log | sed -n '$p'| awk '{print $NF}' | awk -F '.' '{print $1}' | awk -F '_' '{print $NF}'
0002

 

原文地址:https://www.cnblogs.com/python001/p/4331080.html