实用脚本awk

非常实用的awk

有时候需要去服务器下载几个日志

日志太多,翻滚起来很麻烦,操作又慢又复杂。

可以使用这个下载最新的两个文件

ls -lt | head -3 | awk -F ' ' '{if(NR>1) {print $9}}'

“l”是输出9段信息的,目录属性 所有者,字节,修改时间,文件名
“t”是按照时间降序排列

awk -F ‘<分隔符>’ ’ {pattern + action} ‘

非常强,其中{pattern+action}支持逻辑控制语句 和C-like 一样的。
还可以加上begin和end,可以在begin中定义并初始化变量

‘BEGIN {读之前执行一次} {pattern+action} END {最后执行一次}’

$0表示 整个一行,$1 表示第一个域 $9 表示第九个。

上面的命令用到了内置变量
NR ,表示已经读取的结果行数

其实可以直接获得三个文件名

ls -t | head -3

顺便提一下Windows的bat

读取文件:
for /f “delims=分隔符,tokens=2,3” %%i in (File.txt) do
echo <表达式>

批量重命名:
for /f “delims=分隔符,tokens=2,3” %%i in (dir \B ) do
ren <表达式> <表达式>

%%i表示 第二个域,那么有3,则还可以用%%j,按顺序来。

是不是差不多。

 

posted @   一杯半盏  阅读(131)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示