[AWK]使用AWK進行分割字串以及擷取字串

大搜車-自娛發表於2012-03-29
如何split當前的字串,用$0,例如:

cat num.2012032911 | awk '{print $2}' | awk '{split($0,b,".");print b[2]}' | cut -c 3-
獲取第二列,例如第二列是com.sb3456.you那麼在split當前的這個字串獲得sb3456,最後擷取sb3456字串從第3個字元到最後的字元結果為456


b="c,d,e,f,g"
echo | awk '{split("'${b}'", array, ",");print array[1]}'
c

echo $b | cut -d "," -f2
d

其中-d代表用什麼進行分割,-f2代表要第2個結果

另外還有一個常用的引數是-c,用法為 -cx-y 這個意思是取得第x至第y個字串
echo “abcdefg” | cut -c3-6 輸出為 def


格式化列

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

相關文章