您的位置:首页 > 运维架构 > Shell

shell脚本编程 逐行处理文本 将字符串转化为数组

2017-07-24 00:00 453 查看
代码如下

mapping_file=mapping.txt
json_file=user.json

cat ${mapping_file} | while read line
do
OLD_IFS="$IFS"
IFS="    "
arr=($line)
sed -i "s/${arr[0]}/${arr[1]}/g"    ${json_file}
done

代码解释:

逐行读取使用的是while read line

line是一行字符串,以制表符分隔,arr就是一个字符串数组,其中IFS="\t" 不能实现以制表符分隔。

倒数第二行的sed命令,里面必须用双引号,因为引号里面如果需要放变量,则必须用双引号,单引号不可以
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息