shell下分割字符串以及截取字符串

常用的截取字符串的命令,可以通過awk或cut來完成

cut是以每一行爲一個處理對象的,這種機制和sed是一樣的。(關於sed的入門文章將在近期發佈)
 cut一般以什麼爲依據呢? 也就是說,我怎麼告訴cut我想定位到的剪切內容呢?
cut命令主要是接受三個定位方法:
第一,字節(bytes),用選項-b
第二,字符(characters),用選項-c
第三,域(fields),用選項-f

string="20141129235506,普通用戶,www.baidu.com,android,001,android-1152x1920"

如何讀取最後一列:android-1152x1920
1. echo $string| awk -F "," '{print $NF}'
2. echo $string | awk '{split($0,array,",");print array[6]}'
3. echo $string | cut -d "," -f6
其中-d代表用什麼進行分割,-f6代表要第6個結果
另外還有一個常用的參數是-c,用法爲 -cx-y 這個意思是取得第x至第y個字符串 
echo “abcdefg” | cut -c3-6 輸出爲 def 


如何讀取 android-1152x1920 中的 1152x1920
1. echo $string| awk -F "," '{print $NF}' | awk -F "-" '{print $NF}'
2. echo $string | cut -d "," -f6 | cut -c 9-   
獲得android-1152x1920後,再取從第9個字符到最後的字符
 
格式化列 
 
column –t   不過似乎對tab 和空格混合的情況無法處理 
 
string=/home/bozo/daily-journal.txt 
 
截取指定字符串
echo | awk '{print substr("'${string}'",2,4)}' 
 
// 從第2個字符開始獲取4個字符   結果爲:home 
 
計算字符串長度 
 
echo | awk '{print length("'${string}'")}' 
 
// 結果爲: 29 
 
字符串大小寫轉換 
 
echo | awk '{ print toupper("test"), tolower("TEST") }' 
 
結果爲: TEST  test

發佈了20 篇原創文章 · 獲贊 3 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章