shell腳本循環處理文件數據


有一個日志文件為:

# 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

再分別處理數據即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM