shell 文本处理

最近优化脚本,将几套脚本合并,比如,处理nand手机的脚本和处理emmc手机的脚本是不一样的,这导致我们的脚本有很多个版本。

手机侧只有busybox, 所以不能使用功能强大的python来处理文本。花了半天时间,发现虽然语法比较怪异,但也能简洁的完成任务。


if [ -e /proc/emmc ]; then
    a=`cat /proc/emmc|tr -d '" \r\n'|tr : x`
    a=${a%usrdata*}
    a=${a##*emmc_p}
    a=${a%%x*}
    echo $a
    part_userdata=$a

    a=`cat /proc/emmc|tr -d '" \r\n'|tr : x`
    a=${a%android*}
    a=${a##*emmc_p}
    a=${a%%x*}
    echo $a
    part_android=$a
else
    a=`cat /proc/mtd|tr -d '" \r\n'|tr : x`
    a=${a%userdata*}
    a=${a##*mtd}
    a=${a%%x*}
    echo $a
    part_userdata=$a

    a=`cat /proc/mtd|tr -d '" \r\n'|tr : x`
    a=${a%system*}
    a=${a##*mtd}
    a=${a%%x*}
    echo $a
    part_android=$a
fi


你可能感兴趣的:(Android)