shell切分字符串到数组

shell切分字符串到数组

问题:

  • 对于’aa,bb,cc,dd,ee’这样的字符串输出采用,分隔开的aa bb cc dd ee
  • aa:bb is ok:/home/work按照":"分割开来的aa      bb is ok      /home/work

解决方法1:

#!/bin/bash
var=’aa,bb,cc,dd,ee’
var=${var//,/ } #这里是将var中的,替换为空格
for element in $var
do
  echo $element
done

解决方法2:

#!/bin/bash
user="aa:bb is ok:/home/work"
i=1
while((1==1))
do
  split=`echo $user|cut -d ":" -f$i`
  if [ "$split" != "" ]; then
    ((i++))
    echo $split
  else
    break
  fi
done

原文地址:https://www.cnblogs.com/yjd_hycf_space/p/9833027.html

时间: 2024-11-09 02:22:45

shell切分字符串到数组的相关文章

shell编程—注释、字符串和数组(四)

shell注释 以#作为注释符号 shell中没有多行注释,只能一行加一个#号 字符串操作 1.拼接字符串 2.获取字符串长度 string=“khjf” echo ${#string} 3.提取子字符串 string="tynam is a good man" echo ${string:1:4} 数组 相当于多个相同类型的变量组成的集合,shell中不限制数组的大小 定义数组 在shell中,用括号来表示数组,数组元素用“空格”符号分割 一般形式:array=(value0 val

shell脚本编程之数组

数组就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标.组成数组的各个变量称为数组的元素.数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式. 一.数组的表示方式 1.下标数组 下标必须为整数,格式:数组名[下标],下标默认从0开始. shell支持稀疏数组,下标整数不需要连续. 声明方式:declare -a 数组名 2.关联数组 关联数组可以使用任意的字

使用正则表达式--切分字符串

转自廖老师的课程: 用正则表达式切分字符串比用固定的字符更灵活,请看正常的切分代码: 'a b c'.split(' '); // ['a', 'b', '', '', 'c'] 嗯,无法识别连续的空格,用正则表达式试试: 'a b c'.split(/\s+/); // ['a', 'b', 'c'] 无论多少个空格都可以正常分割.加入,试试: 'a,b, c d'.split(/[\s\,]+/); // ['a', 'b', 'c', 'd'] 再加入;试试: 'a,b;; c d'.sp

[面试没有回答上的问题4]常用字符串和数组的操作。

面试的时候有问到我如果用空格分割一个字符串,其实是一个很简单的问题,但是自己突然忘记了,这里做一个对字符串和数组操作的常用方法的一个简单的复习. 字符串部分 1.split(); split() 方法用于把一个字符串分割成字符串数组. 语法 : stringObject.split(separator, howmany) 参数 : separator 必需.字符串或正则表达式,从该参数指定的地方分割 stringObject.如果为("")空字符串,就表示字符串中每个字符都会被分割.

bash shell基础特性之三(数组)

bash shell基础特性之三(数组) 一.数组定义 数组指连续的多个独立内存空间,每个内存空间相当于一个变量. bash shell只支持一维数组,但参数个数没有限制. 数组元素:数组名+索引(从0开始编号) 声明数组:declare -a ARRAR_NAME(其实不用声明,按数组方式直接赋值给变量即可,BASH就知道那是数组) 关联数组:declare -A ARRAY_NAME 数组元素的赋值:一次赋值全部元素.指定索引进行赋值.一次只赋值一个元素 (1) array=(var1 va

C Shell中的变量数组

今天刚刚在看一点C Shell的内容,发现一个挺好玩的东西!就是环境变量可以像数组那样来设置!具体设置语法如下: set variable=(element1 element2 ...) //注意元素之间用空格来间隔 比如我在C Shell中运行了这么一条语句 set var=(123 def hij),那么他就表示设定了一个变量数组,其中var[1]是123,var[2]是def!很奇怪的是它这个数组不是从0开始的,var[0]是一个空的字符串!或许这个var[0]像C语言主函数的argv[0

常见字符串和数组函数

常见字符串和数组函数 range <?php // array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) foreach (range(0, 12) as $number) { echo $number; } // The step parameter was introduced in 5.0.0 // array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100) foreach (range(0, 100, 10

PHP 数组转字符串,与字符串转数组

implode 使用一个字符串将数组变成字符串 <?php $array = array('lastname', 'email', 'phone'); $comma_separated = implode(",", $array); echo $comma_separated; // lastname,email,phone // Empty string when using an empty array: var_dump(implode('hello', array()))

js字符串、数组、时间、日期对象

js对字符串.数组.日期的操作是在以后项目中频繁使用的操作,所以呢....所以大家看着办,其实并不难哈,就是有点无聊,我承认这是我百度的,哈哈哈哈 <!DOCTYPE html><html><head><meta charset="UTF-8"><title>JavaScript字符串对象</title></head><body><script type="text/java