在shell中如何分割字符串

用awk,比如你想用逗号‘,’来分隔字符串的话, 
然后把第二个域的值赋给变量,可以这样:

var=`echo "aaa,bbb,ccc "|awk -F ', ' '{print $2} ' ` 
echo $var   
注意上面的单引号,双引号,以及符号`

要获取分隔开的每个值,可以这样:


var=`echo "aaa,bbb,ccc " | awk -F ', ' '{print $0} ' | sed "s/,/ /g "` 
这样得出var的值是:aaa bbb ccc 
echo $var 可以得到 aaa bbb ccc 
如果你想把var的各个值赋给变量的话,比如你想赋给list,你可以用for循环来做 
for list in $var 
do 
…… 
done 
这样每一次循环里面,list的值分别为var里面的各个值了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Shell脚本,有几种方法可以实现字符串分割。 一种常用的方法是使用内置命令`cut`。这个命令可以根据指定的分隔符将字符串分割成多个字段,并提取指定字段的内容。例如,假设我们有一个字符串"hello,shell,split,test",要按逗号分隔并提取第二个字段,可以使用以下命令: ``` echo "hello,shell,split,test" | cut -d ',' -f 2 ``` 另一种方法是使用内置命令`IFS`和`read`。这个方法可以将字符串按照指定的分隔符分割成多个部分,并将每个部分存储到一个变量。下面是一个示例: ```bash string="hello,shell,split,test" IFS=',' read -ra array <<< "$string" for var in "${array[@]}" do echo "$var" done ``` 这个示例,我们首先将分隔符设为逗号,然后使用`read`命令将字符串分割成多个部分,并将每个部分存储到数组`array`。最后,我们使用循环遍历数组并打印每个分割后的部分。 还有其他一些方法可以实现字符串分割,比如使用`awk`命令、使用正则表达式等。具体使用哪种方法取决于你的需求和偏好。总而言之,在Shell脚本,你可以使用`cut`命令、`IFS`和`read`命令等方法来实现字符串分割。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【shellshell字符串分割|文件分割|剪切|截取](https://blog.csdn.net/bandaoyu/article/details/120659630)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Shell_Linux Shell 实现字符串切割的几种方法](https://blog.csdn.net/u010003835/article/details/80750003)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值