美文网首页
【shell】单行读文件

【shell】单行读文件

作者: Silver_42ac | 来源:发表于2019-11-21 20:39 被阅读0次

    正常写法

    method 1

    for i in `cat list`
    do
    echo $i
    done
    

    method 2

    while read LINE
    do
    echo $LINE 
    done < list
    

    单行写法

    method 1

    for i in `cat list` ;do  echo $i; done
    

    method 2

    while read LINE ;do echo $LINE ;done < list
    

    读取tab或者格式的文本时,不可避免的拆分字符串

    字符串替换法拆分

    #!/bin/bash
    string="hello,shell,split,test"  
    array=(${string//,/ })  #字符串逗号,替换为空格后,使用括号()包裹表示数组,shell 根据IFS=tab,返回多个数组元素;按照数组的数据类型保存在变量array 中
    for var in ${array[@]}
    do
       echo $var
    done
    

    外部命令tr 替换间隔的方法

    #!/bin/bash
    string="hello,shell,split,test"  
    array=(`echo $string | tr ',' ' '` )  #同字符串替换法拆分
    for var in ${array[@]}
    do
       echo $var
    done 
    

    修改IFS法

    #!/bin/bash
    string="hello,shell,split,test"  
    #对IFS变量 进行替换处理
    OLD_IFS="$IFS"
    IFS=","
    array=($string)
    IFS="$OLD_IFS"
    for var in ${array[@]}
    do
       echo $var
    done
    

    参考:
    Shell逐行读取文件的4种方法
    shell中如何一行写while
    Shell_Linux Shell 中实现字符串切割的几种方法

    相关文章

      网友评论

          本文标题:【shell】单行读文件

          本文链接:https://www.haomeiwen.com/subject/xmrmyctx.html