有一個日志文件為:
# cat data.log 20170323 1234 32435 20170324 4524 523
需要提取出里面的數據,寫shell腳本實現這個功能:
#!/bin/bash OLD=$IFS IFS=$'\n' for entry in $(cat /home/users/data.log) do echo "Values in $entry is" IFS=' ' for value in $entry: do echo " $value" done done IFS=OLD
其中IFS變一個環境變量,作為linux的分隔符,默認是空格。這里先將其改成換行符\n,實現整行數據的提取,再在第二層循環中將其改成空格,實現每行內數據的分離。
結果如下:
Values in 20170323 1234 32435 is 20170323 1234 32435 Values in 20170324 4524 523 is 20170324 4524 523
再分別處理數據即可。