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
再分别处理数据即可。