shell 使用指定的分割符来分割字符串的方法
shell 如何用指定的分隔符来分割字符串让结果为一个字符串数组,类似 java 中的 split, 而 split 关键字已经留给文件分割了,故字符串就分割处理就不能在使用了,那如何来处理字符串串分割呢?方法有两种
一、对于不包含空格的字符串,使用下面方法
方法一
#!/bin/bash string="hello,shell,haha" array=(${string//,/ }) for var in ${array[@]} do echo $var done
方法二
#!/bin/bash string="hello,shell,haha" OLD_IFS="$IFS" IFS="," array=($string) IFS="$OLD_IFS" for var in ${array[@]} do echo $var done
方法三:利用tr 指令实现字符替换
#!/bin/bash string="one,two,three,four,five" array=(`echo $string | tr ',' ' '` ) for var in ${array[@]} do echo $var done
二、对于包含空格的字符串,使用下面方法
#!/bin/bash str='this is a good question, hello shell, look at me, show your enthusiasm' i=1 while((1==1)) do splitchar=`echo $str|cut -d "," -f$i` if [ "$splitchar" != "" ] then ((i++)) echo $splitchar else break fi done
到此这篇关于shell 使用指定的分割符来分割字符串的方法的文章就介绍到这了,更多相关shell 分割字符串内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
Shell脚本实现简单分割字符串
我们有这样一个字符串: 复制代码 代码如下: info='abcd;efgh' 现在想获取abcd和efgh,我们可以简单地用cut工具来获取: 复制代码 代码如下: fstr=`echo $info | cut -d \; -f 1` sstr=`echo $info | cut -d \; -f 2` 这里主要是用了cut工具的-d和-f参数: -d:指定字段的分隔符,默认的字段分隔符为"TAB": -f:显示指定字段的内容: 关于cut工具其他参数可参考这里:cut命令
-
在Shell中分割字符串的例子
比如,要分割 test="aaa,bbb,cc cc,dd dd",可以这样 复制代码 代码如下: arr=$(echo $test|tr "," "\n") 还可以这样 复制代码 代码如下: OLD_IFS=$IFSIFS=','arr=$testIFS=$OLD_IFS 然后用 复制代码 代码如下: for x in $arr; do echo $xdone 看看效果 或者更直接一点 复制代码 代码如下: IFS=',' arr=($tes
-
shell 使用指定的分割符来分割字符串的方法
shell 如何用指定的分隔符来分割字符串让结果为一个字符串数组,类似 java 中的 split, 而 split 关键字已经留给文件分割了,故字符串就分割处理就不能在使用了,那如何来处理字符串串分割呢?方法有两种 一.对于不包含空格的字符串,使用下面方法 方法一 #!/bin/bash string="hello,shell,haha" array=(${string//,/ }) for var in ${array[@]} do echo $var done 方法二 #!/bi
-
php根据指定位置和长度获得子字符串的方法
本文实例讲述了php根据指定位置和长度获得子字符串的方法.分享给大家供大家参考.具体分析如下: php的substr函数功能非常强大,不断可以从前往后去子字符串还可以从后往前取字符串 <?php $string = "beginning"; print("Position counted from left: ".substr($string,0,5)."\n"); print("Position counted form rig
-
Asp Split函数之使用多个分割符的方法
首先,我在知道Split这个函数的作用,是把一个字符串按指定的分割符分割成一个字符串数组. ASP里有这个Split,是这样定义的dim Split(byval source as string ,byval str as string) as string() source是源字符串,str是分隔符 我这里用了VB.net的写法,方便说明返回值的类型和参数的类型. 大家一看就明白怎么用了. 在C#里,我们是这样用的 string[] Split(string source,ch
-
Java如何根据不同系统动态获取换行符和盘分割符
目录 根据不同系统动态获取换行符和盘分割符 1.获取盘分割符 2.获取换行符 java分割空行 分割换行符 txtAll是总文本,数据如下 根据不同系统动态获取换行符和盘分割符 1.获取盘分割符 File.separator 2.获取换行符 windows系统为\r\n,Linux系统为 \n String lineSeparator = System.getProperty("line.separator", "\n"); 默认为\n java分割空行 分割换行符
-
php将字符串随机分割成不同长度数组的方法
本文实例讲述了php将字符串随机分割成不同长度数组的方法.分享给大家供大家参考.具体分析如下: 这里使用php对字符串在指定的长度范围内进行随机分割,把分割后的结果存在数组里面 function RandomSplit($min, $max, $str){ $a = array(); while ($str != ''){ $p = rand($min, $max); $p = ($p > strlen($str)) ? strlen($str) : $p; $buffer = substr($
-
swing分割窗口控件JSplitPane使用方法详解
本文为大家分享了JSplitPane的使用方法,供大家参考,具体内容如下 1.swing分割窗口控件JSplitPane,用来将窗口分割成两个部分. 2.分割后的窗口每个窗口只能放一个控件,想要方多个控件的话,可以在上面方一个JPane面板,这样就可以方多个控件.swing分割窗口控件JSplitPane,用来将窗口分割成两个部分.JSplitPane提供两个常数让你设置到底是要垂直分割还是水平分割.这两个常数分别是:HORIZONTAL_SPIT,VERTICAL_SPLIT 3.使用方法:
-
Python实现模拟分割大文件及多线程处理的方法
本文实例讲述了Python实现模拟分割大文件及多线程处理的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python #--*-- coding:utf-8 --*-- from random import randint from time import ctime from time import sleep import queue import threading class MyTask(object): """具体的任务类"&qu
-
php分割合并两个字符串的函数实例
本文实例讲述了php分割合并两个字符串的函数.分享给大家供大家参考.具体实现方法如下: 这里实现把两个字符串进行分割合并,例如str1=aaaa,str2=bbbb,合并后生成abababab /** * Merges two strings in a way that a pattern like ABABAB will be * the result. * * @param string $str1 String A * @param string $str2 String B * @ret
-
Python实现分割文件及合并文件的方法
本文实例讲述了Python实现分割文件及合并文件的方法.分享给大家供大家参考.具体如下: 分割文件split.py如下: #!/usr/bin/python ########################################################################## # split a file into a set of parts; join.py puts them back together; # this is a customizable ve
-
利用shell获取指定日期前N天的日期
一.创建测试文件test.sh #!/bin/sh . /etc/profile # 参数: # args[0] ,数据日期,日期格式yyyy-MM-dd # 取30天以前的日期 function get_date_30daysbefore() { sec=`date -d $1 +%s` sec_30daysbefore=$((sec - 86400*30)) days_before=`date -d @$sec_30daysbefore +%F` echo $days_before } if
随机推荐
- Python中的装饰器用法详解
- Python实现脚本锁功能(同时只能执行一个脚本)
- oracle数据库迁移到MySQL的方法总结
- MSSQL2005数据库备份导入MSSQL2000
- jQuery+ajax实现鼠标单击修改内容的思路
- Angularjs 创建可复用组件实例代码
- RSA加密的方式和解密方式实现方法(推荐)
- Oracle数据库中 call 和 exec的区别
- 屏蔽网页右键复制和ctrl+c复制的js代码
- mysql 5.6.23 winx64.zip安装详细教程
- jquery实现简单的轮换出现效果实例
- jquer之ajaxQueue简单实现代码
- jQuery使用DataTable实现删除数据后重新加载功能
- node.js中的dns.getServers方法使用说明
- 阿里云Centos7安装LNMP+wordpress
- Java8的default方法详细介绍
- php 在字符串指定位置插入新字符的简单实现
- 解决jQuery ajax动态新增节点无法触发点击事件的问题
- SQL去除重复记录(七种)
- Android Studio报错Manifest merger failed with multiple errors