第5.3節:awk數據類型

1 第5.3節:awk數據類型

??awk并沒有非常嚴格的數據類型,但在編寫代碼的過程中,大致可以分為以下數據類型:

1.1 數字型

#普通表示法
a = 123
b = 123.333
#科學表示法
c = 1.33e13
d = 1.05e-5

代碼示例:

$ echo |awk '{
> print 123
> print 123.333
> print 1.33e13
> print 1.05e-5
> }'
123
123.333
13300000000000
1.05e-05
🕮說明
??在可處理的范圍內,科學計數法的數字輸出時可能會轉換成普通表示法。

1.2 不同進制的表示

??在編寫代碼過程中,可能會用到8進制與16進制的描述,絕大部分編程語言都提供了這些進制的表示方法。
以下是這段內容的翻譯:

數值表示說明
11十進制值 11
011八進制 11,十進制值為 9
0x11十六進制 11,十進制值為 17
$ gawk 'BEGIN { printf "%d, %d, %d\n", 011, 11, 0x11 }'
輸出:
9, 11, 17

1.3 字符串型

??和大多數編程語言一樣, 字符串使用雙引號來表示:

"string"

代碼示例:

$ echo |awk '{
> print "hello"
> }'
hello

如果文本行比較長,可以使用“\”進行換行書寫, 換行后新行前的空白符需要注意,會被當成字符串的內容:

#!/bin/gawk -f
BEGIN {str = "this is \a long text \with many lines."print str
}
輸出:
this is         a long text     with many lines.

1.4 正則表達式類型

??正則表達式也是一種數據類型,前面的章節已經介紹過正則表達式的使用,描述正則表達式常量是使用兩條斜線前后包圍該常量,如:/regex/

示例1:

if ($0 ~ /^\s*$/)
{...
}

上面的例子中使用了正則表達式常量/^\s*$/

示例2:

re = /^\s*$/ #這里的正則表達式賦值是錯誤的!
if($0 ~ re)
{...
}

注:re = /^\s*$/實際是re = $0 ~ /^\s*$/的結果。

如:下面的代碼,re的結果是1

$ echo | awk '{re = /^\s*$/;print re}'
1

如果非要將正則表達式賦值給一個變量該怎么辦呢?可以在賦值時在正則表達式前加一個@符號:

$ echo | awk 'BEGIN { re = @/^\s*$/} {if($0 ~ re) {print "matched!"}}'
matched!

作者聲明:本文用于記錄和分享作者的學習心得,可能有部分文字或示例來自AI平臺,如:豆包、DeepSeek(硅基流動)(注冊鏈接)等,由于本人水平有限,難免存在表達錯誤,歡迎留言交流和指教!
Copyright ? 2022~2025 All rights reserved.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/919699.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/919699.shtml
英文地址,請注明出處:http://en.pswp.cn/news/919699.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于coco和kitti數據集訓練YOLOX

原文發表在知乎,辛苦移步~~ 《基于coco和kitti數據集訓練YOLOX》 yolox官方的指標數據是在coco數據集上訓練出來的,yolox-s模型在11萬coco數據集上訓練后,mAP(0.5-0.95)40.5。手頭有kitti的數據集,所以在…

聲網AI語音體驗太絲滑,支持隨時打斷提問

我們教培團隊近期測試了一款整合聲網語音引擎的對話式 AI 教學工具,體驗遠超預期。原本以為它僅適用于 1v1 口語練習,沒想到已能支持小班課 —— 實測 3 人課堂中,學生輪流發言、提問、插話,AI 都能緊跟節奏,不打斷討論…

【GaussDB】內存資源告急:深度診斷一起“memory temporarily unavailable”故障

一、背景在客戶測試環境中(GaussDB 506.0 SPC0100 集中式),一個重度使用存儲過程的系統,頻繁出現內存臨時不可用的問題(ERROR: memory is temporarily unavailable)。令人困惑的是,這個環境配置的內存大小已經數十倍于…

LeeCode 40.組合總和II

給定一個候選人編號的集合 candidates 和一個目標數 target ,找出 candidates 中所有可以使數字和為 target 的組合。candidates 中的每個數字在每個組合中只能使用 一次 。注意:解集不能包含重復的組合。 示例 1:輸入: candidates [10,1,2,7,6,1,5], t…

數據結構:隊列 二叉樹

隊列(Queue) 是一種先進先出(First In First Out, FIFO) 的線性數據結構。 隊列的基本特性 1. FIFO 原則 ? 最先進入的元素最先出去 ? 就像現實生活中的排隊:先來的人先接受服務 2. 兩個主要操作端 ? 隊尾&#xff…

FTP工作原理及搭建實操

文章目錄前言一、FTP概述二、FTP工作原理2.1 FTP的作用與模式2.2 FTP工作流程2.2.1 主動模式(PORT模式)2.2.2 被動模式(PASV模式)2.2.3 對比表格2.2.4 如何選擇?2.2.5 補充:現代FTP服務器的常見做法三、FTP…

setup 語法糖核心要點

1. 基本語法<!-- 傳統寫法 --> <script lang"ts"> export default {setup() {let name 張三function changeName() { name 李四 }return { name, changeName }} } </script><!-- 語法糖寫法 --> <script setup lang"ts"> …

C++---多態(一個接口多種實現)

C的多態&#xff08;Polymorphism&#xff09;是面向對象編程&#xff08;OOP&#xff09;的三大核心特性之一&#xff08;另外兩個是封裝和繼承&#xff09;&#xff0c;其核心思想是一個接口&#xff0c;多種實現&#xff0c;即同一操作作用于不同對象時&#xff0c;可產生不…

【機器學習深度學習】vLLM的核心優化技術詳解

目錄 前言 一、vLLM簡介&#xff1a;為什么它如此重要&#xff1f; 二、核心技術一&#xff1a;PagedAttention — 顯存管理的革命 2.1 傳統注意力緩存的缺陷 2.2 分頁式存儲管理 三、核心技術二&#xff1a;張量并行 — 多GPU推理的基石 3.1 什么是張量并行&#xff1f…

MySQL 高級主題:索引優化、ORM 與數據庫遷移

第五部分&#xff1a;索引優化1. 為什么需要索引&#xff1f;索引是提高數據庫查詢性能的關鍵數據結構&#xff0c;它類似于書籍的目錄&#xff0c;可以幫助數據庫快速定位到所需數據&#xff0c;而不必掃描整個表。2. 索引類型主鍵索引 (PRIMARY KEY): 唯一且非空&#xff0c;…

Eplan教程:網絡與PLC

歡迎大家來到“Eplan帶你做項目”第六個過程。在第五個過程中&#xff0c;Eplan基于實際項目的繪制&#xff08;電氣設計中的電源回路以及電源分配相關回路&#xff09;重點分享分了“電機的供電和控制圖紙的繪制”。本文中&#xff0c;先猜個問題&#xff0c;設計一個PLC系統&…

大模型落地全攻略:從技術實現到場景應用

大語言模型&#xff08;LLM&#xff09;的快速發展正在重塑各行各業的智能化進程&#xff0c;但其落地應用仍面臨技術適配、場景融合、成本控制等多重挑戰。本文將系統解析大模型落地的四大核心方向 ——微調技術、提示詞工程、多模態應用和企業級解決方案&#xff0c;通過代碼…

【論文】Zotero文獻管理

Zotero文獻管理 寫論文前查找閱讀大量文獻&#xff0c;寫論文時引用文獻&#xff0c;都是一件非常麻煩的事情&#xff0c;一款合適的文獻管理工具可以幫助我們更快捷地完成這些任務。zotero作為一款免費開源的工具&#xff0c;可以實現文獻閱讀、同步管理以及引用管理。 安裝…

MsSQL 函數,實現數字轉換成人民幣大寫

MsSQL 函數&#xff0c;實現數字轉換成人民幣大寫-- 如果函數已存在則刪除 IF OBJECT_ID(dbo.ConvertToRMBChineseNew, FN) IS NOT NULLDROP FUNCTION dbo.ConvertToRMBChineseNew GOCREATE FUNCTION dbo.ConvertToRMBChineseNew (NumberInput SQL_VARIANT -- 使用 SQL_VARIANT…

OpenHarmony深度定制:從系統到模塊的全景剖析與自定義模塊實戰

摘要:OpenHarmony 作為面向萬物互聯時代的開源操作系統,其“系統-子系統-部件-模塊”的四層架構設計,為開發者提供了高度可裁剪、可擴展的能力。本文將系統梳理這四層結構的職責邊界與協作關系,并手把手演示如何向 OpenHarmony 新增一個可交付的自定義模塊(Module),幫助…

數字社會學是干什么的?數字社會學理論與數字社會學家唐興通講數字社會學書籍有哪些?AI社會學人工智能社會學理論框架

在當今社會&#xff0c;傳統物理空間和人際關系網絡成為了許多年輕人尋找合適伴侶的重大障礙。以深圳為例&#xff0c;這座移民城市的大部分居民都來自外地&#xff0c;年輕人的人脈關系、尤其是親戚關系大多仍在家鄉。這使得深圳的單身男女在交友和婚戀方面的選擇面變得狹窄&a…

數據庫-MYSQL配置下載

目錄 一.數據庫概念 一、數據庫的基本定義 二、數據庫管理系統&#xff08;DBMS&#xff09; 三、數據庫系統&#xff08;DBS&#xff09; 四、數據模型 五、數據庫的特點 六、數據庫的應用領域 二.MySql 一、開源免費&#xff0c;降低中大型項目成本 二、跨平臺與兼容…

Java 中表示數據集的常用集合類

Java 中表示數據集的常用集合類 Java 集合框架提供了多種數據結構來表示和操作數據集&#xff0c;每種集合類都有其特定的用途和性能特征。以下是主要的集合類及其特點&#xff1a; 一、List 接口及其實現類 1. ArrayList 特點&#xff1a;基于動態數組實現優點&#xff1a;隨機…

Django REST框架核心:GenericAPIView詳解

Django REST framework (DRF) 中 GenericAPIView 的源碼核心部分。 它是所有“泛型視圖”的基礎類&#xff0c;比如常用的 ListAPIView、RetrieveAPIView、CreateAPIView 都是繼承自它。&#x1f31f; 作用繼承自 APIView&#xff0c;因此仍然是一個標準的 DRF 視圖。提供了常用…

深入解析HashMap的存儲機制:擾動函數、哈希計算與索引定位

今天復習了一下HashMap的部分&#xff0c;寫一篇博客記錄一下今天學習內容雖然之前學習過&#xff0c;但由于后來沒怎么使用過而且也沒復習基本忘得差不多了在Java的HashMap中&#xff0c;高效存儲鍵值對的核心在于哈希算法和索引定位。本文將結合源碼逐步拆解存儲流程&#xf…