问题:
想查到某个目录下所有以sd_sensor_xxxx.log等文件中,最后一个序号文件的序号。
也就是,要把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
问题解决。