IFS是internal field separator的缩写,shell的特殊环境变量。ksh根据IFS存储的值,可以是空格、tab、换行符或者其他自定义符号,来解析输入和输出的变量值。

用IFS定制分隔符的方式范例

1

2

3

IFS='|'

text='a a a a|b b b b|c c c c'

for iin $text;do echo "i=$i";done

IP地址倒序

如果有一IP地址220.112.253.111, 欲将这个IP地址颠倒顺序,你可以定义IFS为".",然后直接echo这个地址即可得到此IP的4个数值,然后重新把IFS设为空格,重新组合四个IP>地址的数值即可。

1

2

3

4

5

6

7

8

# The following code segment will only work in ksh,

# and it will fail in bash

IP=220.112.253.111

IFS="."

TMPIP=$(echo $IP)

IFS=" " # space

echo $TMPIP |read ip1 ip2 ip3 ip4

INVERT_IP=$ip4.$ip3.$ip2.$ip1

使用换行符做分隔符

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

#!/bin/sh

conf="ABC

A B C

1|2|3

1 2 3"

echo "$conf"

echo --------------

echo IFS:

echo -n"$IFS"|xxd

echo --------------

for cin $conf;do

echo "line='$c'";

done

echo --------------

#IFS=$'\n'  表示用 换行符 做分隔

#IFS="\n" 与 IFS='\n'  都是用 n 字符作为分隔

IFS=$'\n'

echo IFS:

echo -n"$IFS"|xxd

echo --------------

for cin $conf;do

echo "line='$c'";

done

ABC

A B C

1|2|3

1 2 3

--------------

IFS:

00000000: 2d6e 2020 090a 0a -n ...

--------------

line='ABC'

line='A'

line='B'

line='C'

line='1|2|3'

line='1'

line='2'

line='3'

--------------

IFS:

00000000: 2d6e 200a 0a -n ..

--------------

line='ABC'

line='A B C'

line='1|2|3'

line='1 2 3'

linux shell ifs,shell - IFS分隔符相关推荐

  1. linux shell bash -c $IFS ${IFS}

    root@out:~# aa='echo${IFS}-e${IFS}-n${IFS}"123\\\n456"' root@out:~# bash -c $aa; 123\n456r ...

  2. shell中的IFS

    一.IFS 介绍 Shell 脚本中有个变量叫 IFS(Internal Field Seprator) ,内部域分隔符.完整定义是The shell uses the value stored in ...

  3. Shell中的IFS解惑

    一.IFS 介绍 Shell 脚本中有个变量叫 IFS(Internal Field Seprator) ,内部域分隔符.完整定义是The shell uses the value stored in ...

  4. 【shell脚本】——IFS的概念和用法

    IFS的概念和方法 参考 IFS的概念 查看IFS的默认值 查看IFS的值对应的字符编码 IFS导致的非理想的分割例子 取得理想结果 参考 https://www.cnblogs.com/guxd/p ...

  5. shell中设置IFS,使用自定义分割符

    1.概述 在bash中,IFS(Internal Filed Separator,内部域分隔符)是一种 set 变量,当 shell 处理字符串时,shell会根据 IFS 的值,默认是空格.Tab键 ...

  6. shell 系统变量IFS

    今天看到一个shell函数,开始不理解,后来才明白 function in_path(){cmd=$1;path=$2;oldIFS=$IFSIFS=":"retval=1for ...

  7. Linux上的Shell之FAQ

    转自:http://blog.chinaunix.net/u3/93926/showart_1874897.html ●为什么使用Shell编程? 简单快捷,适用性广 ●什么是Shell? Shell ...

  8. linux基础:shell中的sh与bash区别与常用命令

    目录 一,什么是sh和bash? 二,shell的基本用法 2.1,变量 2.2,算术运算 2.3,使用 bash 计算器在shell脚本中进行浮点运算 2.4,shell中的条件判断命令test和[ ...

  9. linux命令行和shell脚本编程大全笔记

    第1章        初识Linux shell 内存存储单元按组划分成很多块,这些块称作页面(page) Linux操作系统将运行中的程序称为进程.进程可以在前台运行,将输出显示在屏幕上,也 可以在 ...

  10. Linux基础篇学习—shell及shell脚本

    概述 shell概念 shell又称命令解释器,它能识别用户输入的各种命令,并传递给操作系统 它的作用类似于Windows操作系统中的命令行,但是,Shell的功能远比命令行强大的多:在UNIX或者l ...

最新文章

  1. docker删除es数据_Docker的常用命令
  2. IDE接口驱动程序移植
  3. java选填,java选择填空 - osc_ug2wy0bi的个人空间 - OSCHINA - 中文开源技术交流社区
  4. C#语言实现定时开启或禁用网卡小程序
  5. Pytorch--Tensor, Numpy--Array,Python--List 相互之间的转换
  6. python决策树sklearn_python利用sklearn包编写决策树源代码
  7. IDEA 载入jQuery的方法
  8. 舒服的网页登录界面设计灵感
  9. [JavaScript] js获取Html元素的实际宽度高度
  10. Selenium自动化测试——计算器加法测试
  11. 解决Selenium2Library 导入报错问题
  12. Windows使用choco包管理器
  13. bt4-pre-final下用spoonwep+spoonwpa破解wep或wpa加密的无线网络
  14. ehcache使用java_Java分布式缓存框架Ehcache 使用(一)
  15. 冷热分离和直接使用大数据库_【TBase开源版测评】深度测评TBase的shard分片和冷热分离存储特性...
  16. 拔丝芋头的Java学习日记--Day5
  17. 自动更新之安装apk
  18. python数据处理与分析(汇总)
  19. 泰坦尼克号乘客生存预测
  20. 基于MATLAB GUI界面的串口小助手

热门文章

  1. 高级货!Django实现基于人脸识别的门禁管理系统【源码】
  2. WHT20无线温湿度传感器 STM8S单片机
  3. jquery 动态添加div元素(两种方式)
  4. The server time zone value ‘й‘ is unrecognized or represents more than one time zone
  5. 移动通信网认证协议,安全
  6. MINI-UI V3.0 开发框架 非常容易上手
  7. C#通过TCP实现 HL7医疗系统传输的协议,并使用MLLP协议接收HL7消息并解析
  8. 高考选地理化学生物能考计算机专业吗,高考选科物理化学地理可以报考什么专业...
  9. 怎样在线将图片制作成圆角图样式
  10. 【Linux进程概念】冯 诺依曼体系结构 操作系统 进程 fork 进程状态 优先级