Shell cut分割

有一个文件address.txt,文件里面的字符以逗号分隔,逗号之前表示网址描述,逗号后面表示网址地址

abc.club,https://ws-di1.sit.cmrh.com/RH_IM/FileService

现在想获取网址描述和地址可以用cut工具来处理:

for line in $(cat address.txt)
do
    fir_str=`echo $line | cut -d \, -f 1`
    echo $fir_str
    sec_str=`echo $line | cut -d \, -f 2`
    echo $sec_str
done

cut语法:

cut -d'分隔字符' -f fields <==用于有特定分隔字符

cut -c 字符区间              <==用于排列整齐的信息

选项与参数:
-d :后面接分隔字符。与 -f 一起使用;
-f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;
-c :以字符 (characters) 的单位取出固定字符区间;

有字母列表:
letter_list='a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q'

要找出第五个字母:
echo $letter_list | cut -d ',' -f 5
e

要找出第五和第七个字母:
echo $letter_list | cut -d ',' -f 5,7
e,g

要找出第七到最后一个路径。
echo $letter_list | cut -d ',' -f 7-
g,h,i,j,k,l,m,n,o,p,q

要找出第五到第七个字母:
echo $letter_list | cut -d ',' -f 5-7
e,f,g

要找出第五到第七个字母和第十二的字母:
echo $letter_list | cut -d ',' -f 5-7,12
e,f,g,l

原文地址:https://www.cnblogs.com/Arabi/p/11572276.html