使用awk處理帶標籤文字
假設有"123abc456def789ghi"這麼乙個字串
題中的字串,要擷取長度5,則返回的字串應該為:123ab,要擷取長度8,應返回123abc45。
附:1 和標記不得計算在長度之內。
2 擷取後的字串,要保留原有標籤,不過如果最後有乙個標籤沒有閉合,則去掉其開始標籤。
**:如下
#!/bin/bash
a='123abc456def789ghi'
echo "test text is '$a'"
read -p "please input a number little than `echo $a|awk ''`: " num
echo $a | awk -vnum="$num" -vfs='' 'else}print strlist}'
測試結果:
[root@localhost ~]# bash 1.sh
test text is '123abc456def789ghi'
please input a number little than 18: 2
12[root@localhost ~]# bash 1.sh
test text is '123abc456def789ghi'
please input a number little than 18: 5
123ab
[root@localhost ~]# bash 1.sh
test text is '123abc456def789ghi'
please input a number little than 18: 7
123abc4
[root@localhost ~]# bash 1.sh
test text is '123abc456def789ghi'
please input a number little than 18: 10
123abc456d
[root@localhost ~]# bash 1.sh
test text is '123abc456def789ghi'
please input a number little than 18: 9
123abc456
[root@localhost ~]# bash 1.sh
test text is '123abc456def789ghi'
please input a number little than 18: 14
123abc456def78
[root@localhost ~]# bash 1.sh
test text is '123abc456def789ghi'
please input a number little than 18: 17
123abc456def789gh
[root@localhost ~]# bash 1.sh
test text is '123abc456def789ghi'
please input a number little than 18: 18
123abc456def789ghi
[root@localhost ~]#
使用awk處理文字
在liux下我們經常需要對一些文字文件做一些處理,尤其像從日誌裡提取一些資料,這是我們一般會用awk工具和sed工具去實現需求,這裡對awk的入門使用簡單記錄。awk可以看作一種文字處理工具,一種專注資料操作的程式語言,乙個資料處理引擎。其名字 於三個發明者的姓名首字母。一般在liux下使用的awk...
awk筆記 使用awk進行文字處理
在linux下開發,因為經常需要分析專案的日誌檔案,以此來查詢軟體功能可能的異常點,經同事的介紹慢慢接觸了linux下的三大利器 grep,sed,awk,特通過以下例子來總結下自己的學習結果 從文字檔案內篩選出起始點座標和結束點座標,並將此結果資料構造sql語句,最後使用sql將資料插入到對應表中...
文字處理awk
awk是乙個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。實際上awk確實有自己的程式語言 樣式掃瞄和處理語言。awk 1.命令列方式 awk f...