当前位置: 首页 > news >正文

网站免费推广方法网站正能量免费推广软件

网站免费推广方法,网站正能量免费推广软件,wordpress新闻门户,南沙开发区建设和交通局网站1 第5.6节:awk字符串运算 1.1 堆叠式拼接字符串 字符串操作仅有**连接(拼接)**这一种。它没有专门的运算符来表示,而是通过将表达式彼此相邻书写(不加运算符)来实现拼接。例如: $ awk { print…

1 第5.6节:awk字符串运算

1.1 堆叠式拼接字符串

  字符串操作仅有**连接(拼接)**这一种。它没有专门的运算符来表示,而是通过将表达式彼此相邻书写(不加运算符)来实现拼接。例如:

$ awk '{ print "Field number one: " $1 }' mail-list  
-| Field number one: Amelia  
-| Field number one: Anthony  
...  

  要是字符串常量里 : 后面的空格没了,整行就会连在一起。比如:

$ awk '{ print "Field number one:" $1 }' mail-list  
-| Field number one:Amelia  
-| Field number one:Anthony  
🕮说明
   字符串参数和参数之间至少有1个空格,否则变量名就解析失败了!另外一种可行的实践是将待拼接的几个字符串变量使用()进行包围。

  由于字符串拼接没有显式的运算符,通常需要使用圆括号将待拼接的项括起来,以确保拼接在合适的时机进行。例如,你可能期望下面的代码片段拼接 filename

file = "file"
name = "name"
print "something meaningful" > file name

  在某些版本的 Unix awk 中,这会产生语法错误。必须按如下方式编写:

print "something meaningful" > (file name)

  除了最常见的场景(比如在 = 的右侧),在拼接操作周围都应该使用圆括号。要留意用于字符串拼接的表达式类型,具体来说,awk 语言中未定义用于拼接的表达式的求值顺序。考虑以下示例:

BEGIN {a = "don't"print (a " " (a = "panic"))
}

  无法确定对 a 的第二次赋值是在为生成拼接值而获取 a 的值之前还是之后进行。结果可能是 don't panic,也可能是 panic panic

当拼接与其他运算符混合使用时,其优先级往往有悖直觉。考虑以下示例:

$ awk 'BEGIN { print -12 " " -24 }'
-| -12-24

  这“显然”是要拼接 -12、一个空格和 -24 。但空格哪儿去了呢?答案在于运算符优先级和 awk 自动转换规则的共同作用。要得到期望的结果,应按如下方式编写程序:

$ awk 'BEGIN { print -12 " " (-24) }'
-| -12 -24

  这样做会迫使 awk 将 -24 中的 - 视为一元运算符。否则,解析过程如下:

-12 (" " - 24)-12 (0 - 24)-12 (-24)
⇒ -12-24

  如前所述,当拼接与其他运算符混合使用时,要加上圆括号。否则,你永远无法完全确定会得到什么结果 。

1.2 使用sprintf函数拼接字符串

  使用sprintf函数拼接字符串会更清晰,也是本文作者更乐于使用的一种方式。

$ awk '{print sprintf("Line %s: %s", FNR, $0)}' sample1.txt
Line 1: sample
Line 2: 1
Line 3: 12
Line 4: 123
Line 5: 456
Line 6: 789abc
Line 7: 012345678
Line 8: end

作者声明:本文用于记录和分享作者的学习心得,可能有部分文字或示例来自AI平台,如:豆包、DeepSeek(硅基流动)(注册链接)等,由于本人水平有限,难免存在表达错误,欢迎留言交流和指教!
Copyright © 2022~2025 All rights reserved.

http://www.dtcms.com/a/545119.html

相关文章:

  • Spring Boot3零基础教程,配置 GraalVM 环境,笔记88
  • TCN-Transformer-LSTM多特征分类预测Matlab实现
  • 进程 线程 协程基本概念和区别 还有内在联系
  • Linux(1)rsyslog(1)基础使用
  • Arbess零基础学习,安装与配置
  • 温州网站建设seo跨境电商平台shopee
  • Rust——Tokio的多线程调度器架构:深入异步运行时的核心机制
  • webpack - 常用的 CSS 加载器(webpack与其常见loader加载器使用方式)
  • PyTorch2 Python深度学习 - 张量(Tensor)的定义与操作
  • 微信小程序开发案例 | 通讯录小程序(上)
  • 做网站要学什么专业大连谷歌seo
  • 深圳做网站公司营口化工网站建设
  • CUDA-GDB(13)——支持的平台及常见问题解决
  • Warp是什么
  • Go语言设计模式:建造者模式详解
  • 外观模式:复杂系统的统一入口
  • 个人做网站模版是否有人买如何引用网站图片
  • 库卡机器人通讯-EtherKRL-XML格式
  • 自动驾驶技术全景解析:从感知、决策到控制的演进与挑战
  • 建站平台在线提交表格apache 配置网站
  • 前端HTTP,JavaScript,网络
  • 汽车充电站光储充项目方案
  • 为什么Service层和Mapper层需要实现interface接口
  • 杭州做网站公司排名建筑工人招工网
  • 服务RejectedExecutionException问题对Semaphore的思考
  • GitLab 钩子 + Jenkins 自动化构建项目
  • 安装Pytorch GPU+CPU版本【通过本地安装解决无法使用pip指令下载问题】
  • DevExpress WinForms中文教程:Data Grid - 如何自定义汇总函数?
  • 西安建设市场诚信信息平台网站wordpress文章缩略图
  • 解锁未来:云原生如何重塑企业数字竞争力