比如我有一个变量 “123 456 789”,要求以空格为分隔符把这个变量分隔,并把分隔后的字段分别赋值给变量,即a=123;b=456;c=789
共有3中方法:
法一:先定义一个数组,然后把分隔出来的字段赋值给数组中的每一个元素
法二:通过eval+赋值的方式
法三:通过多次awk把每个字段赋值

[danni@vm-bestgame-18 shell]$ cat Demo1.sh
#!/bin/bash a="123 456" #方法一:通过数组的方式

declare -a arr

index=0

for i in $(echo $a | awk '{print $1,\(2</span>}'</span><span class="token variable">)</span></span>
<span class="token keyword">do</span>
arr<span class="token punctuation">[</span><span class="token variable">\)index]=\(i</span>
<span class="token keyword">let</span> <span class="token string">"index+=1"</span>
<span class="token keyword">done</span>
<span class="token keyword">echo</span> <span class="token variable">\){arr[0]}

echo ${arr[1]} # 方法二:通过eval+赋值的方式

b=""

c=""

eval $(echo $a | awk '{ printf("b=%s;c=%s",$1,\(2<span class="token variable">)</span></span><span class="token punctuation">}</span><span class="token string">')
echo <span class="token variable">\)b

方法三

m=""

n=""

m=</span><span class="token keyword">echo</span> $a <span class="token operator">|</span> <span class="token function">awk</span> <span class="token string">'{print <span class="token variable">$1</span>}'</span><span class="token variable">

n=echo <span class="token variable">$a</span> | awk '</span><span class="token punctuation">{<!-- --></span>print <span class="token variable">$2</span><span class="token punctuation">}</span>'

echo \(m</span>
<span class="token keyword">echo</span> <span class="token variable">\)n

文章知识点与官方知识档案匹配,可进一步学习相关知识
Linux技能树Linux实用命令awk命令8647 人正在系统学习中

[转帖]shell 把以空格分隔的变量 分割后的每个字段赋值给变量的更多相关文章

  1. [转帖]Shell运维手册

    shell实例手册    https://github.com/liquanzhou/ops_doc   0 说明{       手册制作: 雪松   更新日期: 2018-09-11       欢 ...

  2. # 【ARM-Linux开发】在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): 【Linux开发】 --- > 一段时间以来,一直是在Windows上安装虚拟机

    [ARM-Linux开发]在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): [Linux开发] 一段时间以来,一直是在Windows上安装虚拟机,然后安装Ubuntu ...

  3. C++中int转为char 以及int 转为string和string 转int和空格分隔字符串

    1.对于int 转为char 直接上代码: 正确做法: void toChar(int b) { char u; ]; _itoa( b, buffer, ); //正确解法一 u = buffer[ ...

  4. python核心编程正则表达式练习题1-2匹配由单个空格分隔的任意单词对,也就是性和名

    # 匹配由单个空格分隔的任意单词对,也就是姓和名 import re patt = '[A-Za-z]+ [A-Za-z]+' # 方法一 +加号操作符匹配它左边的正则表达式至少出现一次的情况 # p ...

  5. shell中的空格【转载】

    1.定义变量时, =号的两边不可以留空格. eg: gender=femal————right gender =femal———–wrong gender= femal———–wrong gender ...

  6. 17、输入一行以空格分隔的英文,判断其共有多少单词,不能包含冠词a

    /*输入一行以空格分隔的英文,判断其共有多少单词,不能包含冠词a */ #include <stdio.h> #include <stdlib.h> int isWord(ch ...

  7. noi 1.1 6 空格分隔输出

    描述 读入一个字符,一个整数,一个单精度浮点数,一个双精度浮点数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔.输出浮点数时保留6位小数. 输入 共有四行:第一行是一个字符:第二行是一个整数: ...

  8. shell脚本将命令的结果赋值给变量的2种写法

    Shell 也支持将命令的执行结果赋值给变量,常见的有以下两种方式: variable=`command`variable=$(command) 第一种方式把命令用反引号` `(位于 Esc 键的下方 ...

  9. bat批处理下如何像shell一样将命令执行的效果赋值给变量

    在bat下如何实现像shell一样,把执行命令行后的结果赋值给变量呐? 刚开始,可真难为到我了.随着对bat批处理知识熟悉的加深. 学习到了!!! 举个 栗子: svnlook  uuid  C:\R ...

  10. Shell中的空格和引号

    空格对于linux的shell是一种很典型的分隔符,所以给变量赋值的时候中间不能够有空格.而单引号和双引号,都是为了解决中间有空格的问题.比如string1=this is a string,这样执行 ...

随机推荐

  1. ifconfig详解

    linux下ifconfig命令详解 ifconfig 是一个用来查看.配置.启用或禁用网络接口的工具,这个工具极为常用的.可以用这个工具来临时性的配置网卡的IP地址.掩码.广播地址.网关等.也可以把 ...

  2. Java日期时间处理详解

    Java中SimpleDateFormat.LocalDateTime和DateTimeFormatter的区别及使用 在Java的世界里,处理日期和时间是常见的任务.尤其在Java 8之前,Simp ...

  3. vue点击图片获取图片原像素坐标

    <template> <div> <img ref="image" width="1500px" :src="image ...

  4. rasa train nlu详解:1.2-_train_graph()函数

      本文使用<使用ResponseSelector实现校园招聘FAQ机器人>中的例子,主要详解介绍_train_graph()函数中变量的具体值. 一.rasa/model_trainin ...

  5. 带你认识数仓的监控系统TopSQL

    本文分享自华为云社区<GaussDB(DWS)TopSQL总结>,作者:nullptr_ . TopSQL 背景 TopSQL为DWS的监控系统,记录DWS中各个作业.算子级别的资源使用数 ...

  6. 【新春特辑】发压岁钱、看贺岁片、AI写春联……华为云社区给大家拜年了

    摘要:充电团聚云上见,顺便攒攒压岁钱. 春!节!倒!计!时!啦! 农历新年即将到来,热闹的过年氛围逐渐弥漫,华为云社区先给大家拜个早年,祝所有小伙伴们新春快乐,牛年大吉! 回望2020年,社区涌现了许 ...

  7. CANN 5.0黑科技解密 | 算力虚拟化,让AI算力“物尽其用”

    摘要:算力虚拟化技术对消费者而言,可有效降低算力的使用成本,对于设备商或运营商而言,则可极大提升算力资源的利用率,降低设备运营成本. 为什么要做算力虚拟化 近年来,人工智能领域呈井喷式发展,算力就是生 ...

  8. APP加固原理与作用

    APP加固原理与作用 引言 在移动应用开发中,APP加固是一种保护应用代码逻辑的重要措施.通过对应用文件进行隐藏.混淆和加密等操作,可以有效提高软件的逆向成本,降低被破解的几率.本文将介绍APP加固的 ...

  9. 直击火山引擎V-Tech峰会!仅需简单登录,即可极速体验数据引擎ByteHouse

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   9月19日,火山引擎"数据飞轮·V-Tech数据驱动科技峰会"在上海举办.会上重磅发布数智 ...

  10. 火山引擎 DataTester :让字节“跳动”起来的 A/B 实验平台

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流 火山引擎 DataTester 不仅对外提供服务,同时也是当前字节跳动内部所应用的 AB 实验平台. DataTes ...