首页 > 其他分享 >【AWK】awk的使用

【AWK】awk的使用

时间:2024-06-17 15:43:55浏览次数:21  
标签:aa BEGIN log 使用 NF AWK 分隔符 awk

AWK 看这篇就基本能满足日常了: https://www.cnblogs.com/zhengyan6/p/16290156.html

awd -F'f' '{print $NF}' 1.txt

$NF 分隔符的最后一列。(如果能分割就是最后一个,如果不能分割,那就是整行)
NF 是行数。。
$0 是一整行
$1 是分割数据后的第一个项
NR : 用来记录行号 ( awk 的参数是可以执行多个的。。。比如 : awk -F: '{print NR, NF, $1, $2, $NF}' aa.log)
BEGIN{FS=":"} : 相当于指定以 : 为分隔符,即 awk BEGIN{FS=":"} = awk -F: 同效果,但 BEGIN{FS=":"} 优先级更高
OFS : 指定打印分隔符(默认空格)

比如aaa.log 的内容有: 
aa:1:2:3
bb:11:22:33
cc:44:55:66
cdfsdfd:2423423
afbfd

如果执行 awk -F: '{print $1, $2}' aa.log  它按冒号分隔,并默认按空格做分隔符打印,结果如下:
aa 1
bb 11
cc 44
cdfsdfd 2423423
afbfd

如果指定分隔符
awk -F: 'BEGIN{OFS=" >>> "}{print $1, $2}' aa.log
结果就会变成: 
aa >>> 1
bb >>> 11
cc >>> 44
cdfsdfd >>> 2423423
afbfd >>>


还有 printf 是可以带格式化的: 
awk -F: 'BEGIN{OFS="|"}{printf "|%+15s|%-15s|\n", $1, $2}' aa.log


|             aa|1              |
|             bb|11             |
|             cc|44             |
|        cdfsdfd|2423423        |
|          afbfd|               |


解析:

|		: 以 | 为分隔符

|%+15s|	 : 以 | 为分隔符 %s 配合 printf 使用 代替当前字符串 右对齐 占用15字符

|%-15s|	 : 以 | 为分隔符 %s 配合 printf 使用 代替当前字符串 左对齐 占用15字符

\n		 : 换行符

$NF		 : 存储以 | 为分隔符的最后一列

$1		 : 存储以 | 为分隔符的第一列

标签:aa,BEGIN,log,使用,NF,AWK,分隔符,awk
From: https://www.cnblogs.com/aaacarrot/p/18252549

相关文章

  • VScode配置 Django项目 使用应用下的tests.py测试
    文件目录tests.pyimportosimportsysfrompathlibimportPath#AddbasedirectorytoPYTHONPATHif__name__=="__main__":os.environ.setdefault("DJANGO_SETTINGS_MODULE","MyshopBack.settings")BASE_DIR=Path(__file......
  • C++ Redis 客户端简单使用
    一、准备工作1、Redis语法命令手册:https://c.biancheng.net/redis2/lpush.html2、下载我的RedisDemo示例(包含了redis源码):https://download.csdn.net/download/weixin_45075013/89446384?spm=1001.2014.3001.5503二、Redis客户端连接与使用......
  • 大模型辅助编程助手:『小浣熊 Raccoon』 如何使用?
    认识RaccoonRaccoon(Raccoonis Another Code CO-pilOt Navigator)是基于AI的代码助手,是商汤科技发布基于商汤自研大语言模型的智能编程助手,代码小浣熊Raccoon支持Python、Java、JavaScript、C++、Go、SQL等30+主流编程语言和VSCode、IntelliJIDEA等主流IDE......
  • QSpinBox、QDoubleSpinBox 的使用,进制转换
    实现目的使用QSpinBox、QDoubleSpinBox实现数量*单价,float结果显示使用QSpinBox、QDoubleSpinBox实现进制的转换拟实现界面布局垂直布局、groupBox中为栅格布局控件进制设置属性displayIntegerBase16代表16进制#include"spinboxexample.h"#include"ui_......
  • 经典Prompt欣赏 - 使用伪代码Prompt来让GPT生成绘本小蝌蚪找妈妈
    今天无意中发现尹相志老师用GPT-4o伪代码生成绘本的演示(https://www.youtube.com/watch?v=3rb-54Q5fig),结果让我大开眼界。这种全新的方法,不仅极大简化了复杂的创作过程,让人惊叹不已。让我们先来看看部分生成效果图:Prompt为了方便阅读,我将这个Prompt翻译成了......
  • 如何解决c++使用mysql数据库读取中文输出时乱码问题
    使用vs写c++输出数据库中文时出现乱码设置utf-8还是不行这是数据库的内容这是输出:在网上找有说改成utf-8的格式,加入这样一句:mysql_query(conn,"setnamesutf8");效果就是这样:发现错误依旧,询问群友后修改,需要在连接数据库的函数中加入如下一句:mysql_query(conn,"set......
  • 经典Prompt欣赏 - 使用伪代码Prompt来让GPT生成绘本小蝌蚪找妈妈
    今天看到尹相志老师用GPT-4o伪代码的方式做绘本生成,实际测试了下,被惊呆了。https://www.youtube.com/watch?v=3rb-54Q5fig先看生成的部分效果图:Prompt为了方便阅读,我把这个Prompt翻译成简体中文了,完整Prompt如下,实际执行时:碰到GPT-4o停下来时,输入“继续”即可......
  • 【linux】使用 `du` 命令查看各个目录的大小,并按大小排序
    使用du命令查看各个目录的大小,并按大小排序,可以按照以下步骤操作:1.打开终端按Command+Space调出Spotlight搜索,然后输入Terminal并打开它。2.使用du命令查看目录大小使用以下命令查看当前目录下一级子目录的大小,并以人类可读的形式显示(即使用-h选项):du-......
  • 在Web项目中使用Sass:提升CSS效率的指南
    Sass(SyntacticallyAwesomeStylesheets)是一种CSS预处理器,它为CSS增加了变量、嵌套规则、混合(mixins)、函数等高级功能,极大地提高了CSS的编写效率和可维护性。本文将详细介绍如何在Web项目中集成和使用Sass。1.理解Sass的优势变量:使用变量存储颜色、字体等,易于统一管理和......
  • 如何在Sass中使用CSS模块?
    CSS模块是CSS的一个特性,它允许你将CSS样式封装在局部作用域中,从而避免样式冲突。Sass本身并不直接支持CSS模块,但是可以通过一些方法来实现类似的效果。以下是如何在Sass中使用CSS模块的一些步骤和概念。1.理解CSS模块CSS模块是一种封装CSS的方法,它使得样式只作用于特定的......