shell tr 替换 空格_Shell 字符串分隔符!!!(全网最详细总结)
生活随笔
收集整理的這篇文章主要介紹了
shell tr 替换 空格_Shell 字符串分隔符!!!(全网最详细总结)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
前言:
在shell腳本編程中,我們經(jīng)常會用到切割字符串,類似于python中的split。但shell中的命令比較五花八門,小編也是苦擾了很久,終于下定決心對它做一個總結(jié)。
方法一:字符串替換法
#/bin/bashstring="Hello,Hi,How?are?you"array=(${string//,/})echo ${array[@]}for?i?in ${array[@]}do????????echo $idone結(jié)果:
總結(jié):這個方法比較好理解,就是將字符串中的‘,’替換為了‘ ’(空格)。然后重新構(gòu)建為類似python中的列表:${array[@]}。
方法二:利用tr指令實現(xiàn)字符串替換
tr功能強大,用法簡單:echo args | tr “oldsplit” “new split”。
#!/bin/bash/string="how,where,what,why"array=(`echo$string|?tr?"," " "`)for?i?in ${array[@]} do????????echo $idone結(jié)果:
方法三:awk命令
#!/bin/bash/ string="how,where,what,why"array=($(echo$string|?awk?'BEGIN?{FS=",";OFS="?"}?{print?$1,$2,$3,$4}'))for?i?in ${array[@]}do????????echo $idone結(jié)果:
方法四:IFS
#!/bin/bash/string="P585_M1_1P.fastq.gz"OLD_IFS="$IFS"echo"OLD_IFS:?$OLD_IFS"IFS="_"array=($string)echo ${array[@]}IFS="$OLD_IFS"for?var?in ${array[@]}do???echo $vardoneecho "${array[0]}_${array[1]}"結(jié)果:
方法五:字符串的截取
#!/bin/bash/string="Hello,world,and?you!"#?First?","?->?cut;?retain?right?substrecho ${string#*,}#?End?","?->?cut;?retain?right?substrecho ${string##*,}#?end?","?->?cut;?retain?left?substrecho ${string%,*}#?First?","?->?cut;?retain?left?substrecho ${string%%,*}#?index;?from?index0?&&?5?wordsecho ${string:0:5}#?from?index?5?>>?endecho ${string:5}#?from?endecho ${string:0-4}結(jié)果:
引用:
[1]https://www.cnblogs.com/cangqinglang/p/11952838.html
[2]https://blog.csdn.net/lw305080/article/details/78594011?
總結(jié)
以上是生活随笔為你收集整理的shell tr 替换 空格_Shell 字符串分隔符!!!(全网最详细总结)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美股周三:三大股指全线上涨,纳指四连涨,
- 下一篇: 9499元割韭菜!厂商喷RTX 4080