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